2

Flickr アカウントを作成し、アプリを作成して API キーを取得し、いくつかの写真セットを作成し、API エクスプローラーを使用して API 呼び出しをテストし、次の URL を呼び出して取得しました。

http://api.flickr.com/services/rest/?method=flickr.photosets.getList&api_key=65746342db5d734353b08cd63398a4b4&user_id=21466829@N07&format=json

ブラウザではこれはうまく機能しますが、jQuery 経由で呼び出すとまったく何も返されません - FireBug を使用して確認しました。

ここに私のjQueryコードがあります:

var url = 'http://api.flickr.com/services/rest/?method=flickr.photosets.getList&api_key=78ac01418165186ee9be695c61a5d53f&user_id=21466829%40N07&format=json';
  $.getJSON(url, function (data) {
    var list = $("<ul></ul>");
    $.each(data.photosets.photoset, function (i, set) {
      var link = $("<a/>").attr("title", set.description._content)
        .attr("href", "http://www.flickr.com/photos/mjryall/sets/" + set.id)
        .text(set.title._content);
      var li = $("<li/>").append(link).append(" (" + set.photos + ")");
      $(list).append(li);
    });
    $("#flickr-sets").append(list);
  });

また、このアプリの Web サイト、タグ、およびアクセス許可を公開に設定しました。これは非常に簡単なはずです-ここで何が欠けていますか?

4

1 に答える 1

2

URL の末尾に「&nojsoncallback=1」を追加すると、機能するはずです。

問題は、それがないと、Flickr が関数ラッパーを使用してデータを返すことです。jsoncallback パラメーターは、生の JSON を送信するように指示します。

ここの「コールバック関数」セクションを参照してください: http://www.flickr.com/services/api/response.json.html

于 2010-02-21T04:49:26.127 に答える