Json和Flickr API

时间:2010-07-20 13:11:38

标签: css json api flickr

我已经浏览了http://css-tricks.com/examples/BuildYourSocialPage/,这很棒,但我只是想用API自定义它所带入的Flickr图像数量。

我知道我可以设置一个带溢出的div:隐藏以显示所需的数量,但我不希望代码是hacky。

有人可以帮忙吗?

另外我想显示我的last.fm最新专辑,有谁知道你可以在哪里获得API来做这个?

谢谢

P.S我知道你可以通过wordpress获得premade插件并完成所有这些,但我不想这样做。这只是一个用于测试想法的小型过期页面。

2 个答案:

答案 0 :(得分:3)

需要注意的一点是,示例页面实际上并没有使用全功能的Flickr API - 它使用简单的Feed来检索照片。

这样可以减少控制 - 我相信这些Feed中的项目数量固定为20。

我可以想到你可以从这里走几种不同的方式。

你可以:

  • 过滤您在JavaScript中返回的结果,以丢弃不需要的图像。可能最容易,但有点不优雅。
  • 使用Flickr API,这将允许您设置限制,但需要API密钥,并且可能更容易在服务器端。
  • 使用YQL之类的内容进行Flickr搜索和限制,然后解析这些结果。我创建了一个示例查询here。 YQL允许JSONP,所以你仍然可以使用这个跨域,我相信,虽然你需要更改接收Javascript以匹配新格式。有一个很好的例子,可以使用YQL来搜索Flickr on the Wait till I come site
  • 创建一个Yahoo Pipe来截断你的Feed,也许把它当作RSS来获取,通过Pipe的RSS-fiddling函数提供它,并吐出JSONP - 我相信这在Pipes中是可行的。

尤其是YQL非常酷且非常强大,特别是在处理像Flickr这样的雅虎自己的服务时。看到你说你正在玩想法,我想我会给你一些有趣的玩法:)

答案 1 :(得分:2)

  1. Flickr Feeds Service不允许进行此类参数化,但您可以更改显示它们的JavaScript代码,以仅过滤前6个

    $.each(data.items, function(index, item){
            if (index < 6){
              $("<img/>").attr("src", item.media.m).appendTo("#flickr")
              .wrap("<a href='" + item.link + "'></a>");}
          });
    
  2. Last.fm Api =&gt; user.getWeeklyAlbumChart