2016-04-23 13 views
1

私は 'tag/media/recent?'を使用しています。 Instagram APIのエンドポイントでエラーが発生しました。送信された値が利用できない場合、タグが利用できないため404ページが表示されていますが、エラーをどのように処理するのかを理解しています。 Twitter APIを使用すると、「hemidemisemiquaver」という画面名を検索することができ、その名前のプロファイルがないため、プロフィールデータをフォールバックとして返すことになります。 Instagram APIを使用すると、404ページが返されます。Instagram API:SyntaxError:予期しないトークン<

{ 
"meta": { 
    "error_type": "OAuthException", 
    "code": 400, 
    "error_message": "..." 
} 
} 

なぜこれが起こっている私は理解していない:

InstagramのAPIドキュメントは、私はこのようになります応答オブジェクトを取得する必要があります述べています。理由を理解していますか?

app.post('/instaInputQuery', function (req, res, next) { 
    console.log('INPUT_QUERY: ' + typeof req.body.query); // returns string 
    var popular_tag_search_tag_name_recent = { 
     url: 'https://api.instagram.com/v1/tags/ ' + req.body.query + '/media/recent?access_token=' + tokenContainer[0] + '&count=200', 
     method: 'GET' 
    }; 

request(popular_tag_search_tag_name_recent, function (error, response, body) { 
    if (error && response.statusCode != 200) { 
     console.error(error); 
     res.send(error); 
    } else { 
     var JSONobjArray = JSON.parse(body); 
     console.log('*******************************************************'.black.bgGreen); 
     console.log(JSONobjArray); 
     console.log('*******************************************************'.black.bgGreen); 
     res.send(JSONobjArray); 
    } 
}); 
}); 

問題を半分解決して送信していただきありがとうございます! (!エラー& & response.statusCode = 200)

答えて

1

条件の使用(!エラー|| response.statusCode = 200)のinsted場合には

Update: remove the space after the tags/ in the url.

はこれを試してみてください。

app.post('/instaInputQuery', function (req, res, next) { 

var popular_tag_search_tag_name_recent = { 
    url: 'https://api.instagram.com/v1/tags/' + req.body.query + '/media/recent?access_token=' + tokenContainer[0] + '&count=200', 
    method: 'GET' 
}; 

request(popular_tag_search_tag_name_recent, function (error, response, body) { 
    if (error || response.statusCode != 200) { 
     error = error || response; 
     console.error(error); 
     res.send(error); 
    } else { 
     var JSONobjArray = JSON.parse(body); 
     console.log('*******************************************************'.black.bgGreen); 
     console.log(JSONobjArray); 
     console.log('*******************************************************'.black.bgGreen); 
     res.send(JSONobjArray); 
    } 
}); 
}); 

Iこれがうまくいくことを祈ってください:)

+0

私はちょうどあなたが戻ってオブジェクトを送って、クラバーすることを断つことを許している問題を解決したと言いたいと思います!しかし、私の更新された質問を見てみましょう。この本当に特有のJavaScriptの動作 – LTQ

+0

は、スタックトレースを更新してください。 –

+0

popular_tag_search_tag_name_recentオブジェクトのurl属性のタグ/の後のスペースを削除します。 –

関連する問題