Instagram API:SyntaxError:意外的令牌<

时间:2016-04-23 18:46:24

标签: node.js api express request instagram

我正在使用'标签/ media / recent?' Instagram API的端点,我收到错误。当发送的值不可用时,我知道我获得了404页面,因为标签不可用但我该如何处理错误。使用Twitter API,我可以搜索屏幕名称&hemidemisemiquaver'并且它会将我的个人资料数据作为后备广告返回,因为该名称没有个人资料。使用Instagram API,它会返回404页面。

Instagram API文档说明我应该得到一个如下所示的响应对象:

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

我不明白为什么会这样。你明白为什么吗?

    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);
    }
});
});

谢谢Vishnu解决问题的一半!

1 个答案:

答案 0 :(得分:1)

如果条件使用(错误|| response.statusCode!= 200)insted(error&& response.statusCode!= 200)

  

更新:删除网址中标记/之后的空格。

试试这个:

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);
    }
});
});

我希望这会奏效:)