使用 instagram-node 时出错

Error using instagram-node

这是我在 node.js 服务器上的代码 运行。我拥有从 OAuth2.0 协议获得的正确访问令牌,如 Instagram 开发人员页面中所定义。

function getMedia(accessToken) {
    var instagram = require('instagram-node').instagram();
    instagram.use({
      access_token: accessToken
    });
    instagram.user_self_media_recent(function(err, medias, pagination, remaining, limit) {
      if(err) {
        console.log(err);
      }
      console.log(medias);
    });
}

我在错误响应中得到了这个:

{ Error: getaddrinfo ENOTFOUND api.instagram.com api.instagram.com:443
    at errnoException (dns.js:28:10)
    at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:76:26)
  code: 'ENOTFOUND',
  errno: 'ENOTFOUND',
  syscall: 'getaddrinfo',
  hostname: 'api.instagram.com',
  host: 'api.instagram.com',
  port: 443,
  retry: [Function: retry] } 

有谁知道这个错误响应是什么意思?

初始化 instagram 客户端时,您应该使用应用程序的客户端 ID 和客户端密码。

instagram.use({
  client_id: INSTA_CLIENT_ID,
  client_secret: INSTA_CLIENT_SECRET,
});

然后使用访问令牌来验证特定的 Instagram 用户并代表他们请求媒体。

instagram.use({
  access_token: accessToken
});
instagram.user_self_media_recent(function(err, medias, pagination, remaining, limit) {
  if(err) {
    console.log(err);
  }
  console.log(medias);
});

当您第一次初始化您的 instagram 节点客户端时,您必须使用您在注册您的应用程序时从 instagram 收到的身份验证凭据 here

快速跟进。我在后端使用 Google 的 Firebase。在 "Spark" 计划中,您收到此警告:

Billing account not configured. External network is not accessible and quotas are severely limited. Configure billing account to remove these restrictions

我升级到 "Blaze" 计划,现在从 Instagram 检索数据。

下面发布的答案表明我需要用 client_id 和 client_secret 初始化 Instagram 客户端,这是不正确的。我收到的媒体帖子只有 access_token。

谢谢