使用instagram节点时出错

时间:2017-08-06 08:19:18

标签: node.js instagram

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

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] } 

有谁知道这个错误响应意味着什么?

1 个答案:

答案 0 :(得分:0)

初始化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节点客户端时,必须使用在注册应用here时从Instagram收到的身份验证凭据。