2017-08-06 5 views
0

これは私のコードがnode.jsサーバー上で実行されたものです。私は、Instagramの開発者ページで定義されているように、OAuth2.0プロトコルから得られた適切なアクセストークンを持っています。instagram-nodeを使用しているエラー

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

誰もがこのエラー応答が何を意味するか知っていますか?

答えて

0

クイックフォローアップ。バックエンドにGoogleのFirebaseを使用していました。 「スパーク」プランでは、次の警告が表示されます。

請求先アカウントが設定されていません。外部ネットワークにアクセスできず、 割り当てが厳しく制限されています。 制限を取り除くには請求先アカウントを設定してください

"Blaze"プランにアップグレードし、Instagramからデータを取得しました。

以下の回答は、Instagramクライアントをclient_idとclient_secretで初期化する必要があることを示していますが、これは当てはまりません。私はaccess_tokenだけでメディア投稿を取得しています。

ありがとうございました

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のから受け取る認証資格情報を使用する必要があります。

+0

これは機能しています。 client_idとclient_secretで初期化する必要はなく、accessTokenで十分です。 –

関連する問題