0

基本的に、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);
  },
});

しかし、試してみると、alert(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 に出力できますか? 何時間も戦っていて、何らかの理由でこれが私を逃れている私の研究技術をすべて試しています. これまでのところ、みんなの助けに感謝します。私はこれを乗り越えることを本当に望んでいます!

4

1 に答える 1

1

ブラウザはグローバル関数 JSON.parse() をネイティブに実装しており、何らかの理由で機能しない場合は、jQuery の parseJSON() 関数を使用できます。

仕組みは次のとおりです。JSON オブジェクトが次の形式であるとします。

{
    Status: "Success",
    Resource: {
        Name: "Person's Name",
        URL: "http://blahblahblah.com/extrastuffhere?querystuff=here"}}

次に、次のように JSON.parse() を使用して「URL」要素にアクセスできます。

var url = JSON.parse(json).Resource.URL;

(私は Foursquare に慣れていませんが、似ているはずです。また、console.log(json) を実行してその構造を確認できます。)

したがって、コードは次のようになります。

$("#getJSON").click(function() {
    $.getJSON(jsonUrl, { dataType: "JSONP" }, function(json){ 
        var parsed = JSON.parse(json);
        console.log(parsed);
        access_token = parsed.access_token;
    });
});

それが役立つことを願っています!

于 2011-12-17T18:21:29.547 に答える