首页 > 解决方案 > 如何使用 npm 包“Instagram-private-api”获取 Instagram 中用户的照片?

问题描述

我目前正在使用这个 npm 包与 Instagram 进行交互。

在其文档中,它没有说明您应该如何获取 Instagram 用户上传的照片。

我在 google 上进行了广泛搜索,找到了它的 github repo,发现这段代码应该可以工作:

const id = await ig.user.getIdByUsername("xxx");
const feed = ig.feed.user(id);
const list = await feed.items();

但是,这是在较新版本的节点包上,它不再支持我当前使用的一些旧功能。

我修改了代码,把它变成

//Declare instagram API variables
var Client = require('instagram-private-api').V1;
var accdetails = require('./configs/account.json');

//Initialize Instagram API
var device = new Client.Device(accdetails["insta_username"]);
var storage = new Client.CookieFileStorage('./cookies/' + accdetails["insta_username"] + '.json');
//Login to Instagram
Client.Session.create(device, storage, accdetails["insta_username"], accdetails["insta_password"]).then(async function(session) {
    const id = await Client.user.getIdByUsername("xxx");
    const feed = Client.feed.user(id);
    const list = await feed.items();
        console.log(list);
});

但是,它返回未处理的拒绝类型错误:无法读取未定义的属性“getIdByUsername”。

所以我的问题是,我如何在节点包的 0.10.1 版本上实现相同的目标?

标签: node.jsnpm

解决方案


推荐阅读