首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >根据搜索结果获取Flickr图像

根据搜索结果获取Flickr图像
EN

Stack Overflow用户
提问于 2013-06-12 17:00:49
回答 1查看 2.3K关注 0票数 1

如何根据文件名显示Flickr中的某些图像。我想搜索图片,只显示那些适合我的搜索结果。

老实说,这是我第一次使用Flickr,他们真的需要更多的例子。

知道从哪里开始吗?

EN

回答 1

Stack Overflow用户

发布于 2013-06-12 20:37:06

下面是我附带的一个帮助方法,它允许您对flickr的api提出请求。查看一下flickr api文档可能会有帮助,这样您就可以开始弄清楚如何处理您将要返回的数据。这应该适用于Chrome和Firefox,我还没有在IE或Safari中测试过。

代码语言:javascript
复制
/*
 * Make an XmlHttpRequest to api.flickr.com/services/rest/ with query parameters specified
 * in the options hash. Calls cb once the request completes with the results passed in.
 */

var makeFlickrRequest = function(options, cb) {
  var url, xhr, item, first;

  url = "http://api.flickr.com/services/rest/";
  first = true;

  for (item in options) {
    if (options.hasOwnProperty(item)) {
      url += (first ? "?" : "&") + item + "=" + options[item];
      first = false;
    }
  }

  xhr = new XMLHttpRequest();
  xhr.onload = function() { cb(this.response); };
  xhr.open('get', url, true);
  xhr.send();

};

使用:

代码语言:javascript
复制
var options = { 
  "api_key": "<your api key here>",
  "method": "flickr.photos.search", // You can replace this with whatever method,
                                  // flickr.photos.search fits your use case best, though.
  "format": "json",
  "nojsoncallback": "1",
  "text": "<your search text here>"  // This is where you'll put your "file name"
}

makeFlickrRequest(options, function(data) { alert(data) }); // Leaving the actual 
                                                            // implementation up to you! ;)

如果您正在使用jQuery,下面是一个jQuery版本:

代码语言:javascript
复制
var makeFlickrRequest = function(options, cb) {
  var url, item, first;

  url = "http://api.flickr.com/services/rest/";
  first = true;
  $.each(options, function(key, value) { 
    url += (first ? "?" : "&") + key + "=" + value;
    first = false; 
  });

  $.get(url, function(data) { cb(data); });

};

此方法与非jQuery版本的用法相同。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17071187

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档