2016-02-12 78 views
0

我正在创建一个Web应用程序,要求用户输入一些关键字/标签,查询Flickr API(JSON),然后显示包含这些标签的照片列表。我不断收到下面的照片中显示的错误,并没有得到任何Flickr的响应(空响应)。访问Flickr API的问题

enter image description here

有谁知道这是怎么回事?我认为这与同源政策有关。

下面是我的脚本代码:

function loadData() { 

    var city = $("#city").val(); 
    var country = $("#country").val(); 


var flickrURL = "https://api.flickr.com/services/rest/?method=flickr.photos.search&api_key=cgtrey1a7cea9e78965a42f773f01928&tags=" + country + "," + city + "&format=json&nojsoncallback=1"; 

    $.getJSON(flickrURL,function(flickrData){ 

     var photoUrlArray = []; 

     for (var i = 0; i < flickrData["photos"]["photo"].length; i++) { 
      var photo = flickrData["photos"]["photo"][i]; 
      var photoId = photo["id"]; 
      var photoSecret = photo["secret"]; 
      var photoServer = photo["server"]; 
      var photoFarm = photo["farm"]; 

      var url = "https://farm" + photoFarm + ".staticflickr.com/" + photoServer + "/" + photoId + "_" + photoSecret + ".jpg"; 

      photoUrlArray.push(url); 
     }; 

     for (var i = 0; i < photoUrlArray.length; i++) { 
      var img = "<img id=\"flickr-image\" src=\""+ photoUrlArray[i] + "\">"; 
      $("flickr-conttainer").append(img); 
     }; 

    }).error(function(e){alert(e)}); 
}; 

$('#form-container').submit(loadData); 
+0

[问题请求Flickr的API]的可能的复制(http://stackoverflow.com/questions/35375781/issues-requesting-flickr-api) – emepe

回答

0

在你有“格式= JSONP”但JSONP是不是一个可行的选择,你应该使用“格式= JSON”的flickrURL字符串。

此外,您的API密钥似乎由Flickr的Explore提供,并且有效期为一天。您可以在flickr.com上申请一个permament API密钥。在https://www.flickr.com/groups/api/discuss/72157663968579450/

更多信息

+0

我已经尝试过JSON,而不是JSONP,没有工作 – Dxml

+1

如果你尝试:https://api.flickr.com/services/rest/?method=flickr.photos.search&api_key=78ac01418165186ee9be695c61a5d53f&tags=argentina,rosario&format=jsonp&nojsoncallback=1你会得到: 如果您尝试使用“format = json”,您将得到:“message”:“无效API密钥(密钥未找到)” – emepe

+1

使用新的API key和format = json我得到了正确的结果:https://api.flickr.com/se rvices /休息/?方法= flickr.photos.search&API_KEY = cfcaec1a7cea9e50802a42f842f09575及标签=阿根廷,罗萨里奥&格式= JSON&nojsoncallback = 1 – emepe