意外的令牌:在jQuery ajax调用中

时间:2016-03-19 12:21:28

标签: javascript jquery ajax instagram-api

我试图按照以下方式向Instagram发出简单请求:



$.getJSON("https://www.instagram.com/kidsfromthe90sband/media/?callback=?",
  function(data) {
    alert(JSON.stringify(data));
  });




http://jsfiddle.net/FPhcr/731/

然而它说Uncaught SyntaxError:意外的令牌:在控制台中,但是uri没问题,如果我在Postman中或直接在浏览器中运行它,它就可以工作。我已经搜索了其他问题,但我无法了解我的错误。 谢谢。

修改

如果我不回电话=?还有另一个错误:No' Access-Control-Allow-Origin'标头出现在请求的资源上

2 个答案:

答案 0 :(得分:2)

  

实际上,当您使用任何社交应用数据时,例如facebook,linkedin或Instagram等,您需要在那里注册您的应用,这样您才能获得独特的令牌和放大器。 id可以帮助他们验证您的身份。因此,他们可以通过提供的公共API填写您的请求。

它的发生是因为根据JSONP,结果/响应应该包含在回调中,在这种情况下不会发生。

编辑:

您需要订阅Instagram才能获得ACCESS-TOKEN。

然后形成像这样的网址

https://api.instagram.com/v1/tags/coffee/media/recent?access_token=ACCESS-TOKEN&callback=callbackFunction

将给出jsonp。

请参阅此处了解更多

  1. devloper
  2. endpoints

答案 1 :(得分:0)

您正在将API视为将返回JSONP数据,但事实并非如此。所以jQuery然后尝试将纯JSON返回值作为JSONP进行评估并记录错误。

您必须为JSONP找到正确的API端点,有一个文档可以在这里找到:https://www.instagram.com/developer/endpoints/