如何提取作为链接保存到 DOM 的 foursquare access_token 以便我可以将其用于 API 调用?
本质上,如果我在 Firebug 中查看网络对象,我会看到状态 200
如果我单击 JSON 选项卡,我可以看到我的 access_token,但如何从那里提取它以便用于 API 调用?
这是尝试的最新代码。
var jsonUrl = url +"&callback=?";
var access_token;
$("#getJSON").click(function() {
$.getJSON(jsonUrl, { dataType: "JSONP" }, function(json){
...
access_token = json.access_token;
...
});
});
也尝试过:
$.ajax({
dataType: 'jsonp',
jsonp: 'callback',
url: url,
success: function (json) {
console.log(json.access_token);
},
});
但是当我尝试警报(access_token)时;或者运行 foursquare api 调用我收到以下错误
Resource interpreted as Script but transferred with MIME type application/json.
Uncaught SyntaxError: Unexpected token : checkinsGET https://api.foursquare.com/v2/users/self/checkins?oauth_token=undefined&format=json 401 (Unauthorized)
我感觉它已经准备好并等待我调用它,但是我到底如何将它从 Dom 打印到我可以使用的 var 中?我已经奋斗了几个小时,并尝试了我所有的研究技术,但出于某种原因,这个技术却让我无法理解。感谢大家到目前为止的帮助,我真的希望能够通过这个!
Essentially, if I'm in Firebug and look at the net objects I see the status 200
If I click on the JSON tab I can see my access_token, but how do I extract it from there so I can use for API calls?
Here's the latest code tried.
var jsonUrl = url +"&callback=?";
var access_token;
$("#getJSON").click(function() {
$.getJSON(jsonUrl, { dataType: "JSONP" }, function(json){
...
access_token = json.access_token;
...
});
});
also tried:
$.ajax({
dataType: 'jsonp',
jsonp: 'callback',
url: url,
success: function (json) {
console.log(json.access_token);
},
});
But when I try and alert(access_token); or run a foursquare api call I get the following errors
Resource interpreted as Script but transferred with MIME type application/json.
Uncaught SyntaxError: Unexpected token : checkinsGET https://api.foursquare.com/v2/users/self/checkins?oauth_token=undefined&format=json 401 (Unauthorized)
I feel like its ready and waiting for me to call it, but how on earth do I print it from the Dom into a var that I can use? Been fighting for hours and been trying all my research techniques for some reason this one's elluding me. Thanks for everyone's help so far, I'm really hoping to get passed this!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
浏览器本身实现了一个全局函数 JSON.parse(),如果由于某种原因不起作用,您可以使用 jQuery 的 parseJSON() 函数。
这是它的工作原理。假设您的 JSON 对象具有以下格式:
然后您可以使用 JSON.parse() 访问“URL”元素,如下所示:(
我不熟悉 Foursquare,但它看起来应该类似,您可以执行 console.log( json)以查看其结构。)
因此您的代码可能如下所示:
希望有帮助!
Browsers natively implement a global function JSON.parse(), and if for some reason that doesn't work you can use jQuery's parseJSON() function.
Here's how it works. Let's say your JSON object has the following format:
Then you can access the "URL" element by using JSON.parse() like so:
(I'm unfamiliar with Foursquare but it should look similar, and you can do console.log(json) to see its structure.)
So your code might look something like this:
Hope that helps!