【问题标题】:Instagram API: SyntaxError: Unexpected token <Instagram API:SyntaxError:意外的令牌 <
【发布时间】:2016-04-23 18:46:23
【问题描述】:

我正在使用“标签/媒体/最近?” 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);
    }
});
});

感谢毗湿奴派来解决了一半的问题!

【问题讨论】:

    标签: node.js api express request instagram


    【解决方案1】:

    在 if 条件下使用 (error || response.statusCode != 200) insted of (error && response.statusCode != 200)

    更新:去掉url中tags/后面的空格。

    试试这个:

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

    我希望这会奏效:)

    【讨论】:

    • 我只想说你已经解决了发回和反对的问题,让服务器不崩溃!但是看看我更新的问题。这种非常奇特的 JavaScript 行为
    • 去掉popular_tag_search_tag_name_recent对象的url属性中tags/后面的空格。
    猜你喜欢
    • 1970-01-01
    • 2015-07-09
    • 1970-01-01
    • 2021-03-19
    • 2016-05-03
    • 2018-04-17
    • 2018-09-11
    • 2011-11-21
    • 2016-06-15
    相关资源
    最近更新 更多