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

我还将此应用程序的网站、标签和权限设置为公开。这应该是不费吹灰之力 - 我在这里错过了什么?

4

1 回答 1

2

将“&nojsoncallback=1”添加到您的网址末尾,它应该可以工作。

问题是,没有它,Flickr 将使用函数包装器返回数据。jsoncallback 参数告诉它向您发送原始 JSON。

请参阅此处的“回调函数”部分:http: //www.flickr.com/services/api/response.json.html

于 2010-02-21T04:49:26.127 回答