Flickr 相片调用 API
Flickr 是一个非常不错的在线免费相册,虽然它只能显示最新上传的 200 张相片(以前的相片并不会被删除,在升级为付费会员后,即可显示),但对于普通用户来说,足以。与此同时,每个用有网上相册的朋友,肯定希望自己的相片可以在其他地方与他人分享,比如:博客、个人空间等等…因此,如何调用 Flickr 的相片则成了大家头疼的问题。好在 Flickr 已经为大家解决了这一难题,那就是它的 Badge 接口。该接口提供了 HTML 和 FLASH 两种输出样式,因为 FLASH 的样式已经固定,不一定可以满足大多数人需求,所以推荐大家使用 HTML 样式,稍加 CSS 的样式控制即可。
下面就对该接口的使用做一说明吧,其实原文是 Elliot Swan 在其博客中所发表的《Custom Flickr Badge API Documentation》,因为没找到中文版的,只好自己稍微翻译了一下,希望帮得上大家吧~~
开始
每个对于该接口的调用,应该都包含如下的内容:
<script type="text/javascript" src="http://www.flickr.com/badge_code_v2.gne?user=[The ID]">
[The ID] 是你的用户 ID,并不是用户名!可以通过 idGettr.com 获取。同时,你可能需要将用户 ID 中的 @ 符号改成 %40。
JavaScript 参数说明
| 参数名 | 类 型 | 可选值 | 说 明 |
| count | integer 整数 | 1 到 10 | 需要显示相片的张数。默认:10 |
| display | string 字符串 | latest(最新的) 或 random(随机的) | 显示的相片是最新的还是随机的。默认:latest |
| layout | char 字符 | h(水平的)、v(垂直的)、x(不设置) | 相片的排列方式。默认:h |
| source | string 字符串 | user(指定用户的相片)、user_tag(指定用户的指定标签)、user_set(指定用户的指定相册)、group(指定群组的相片)、group_tag(指定群组的指定标签)、all(所有用户的相片)、all_tag(所有用户的指定标签) | 相片的来源。设置该选项后,可能需要设置其他的选项以获取到需要的相片。其他选项为:tag、group、set(具体使用方法参与下文) |
| size | string 字符串 | s(正方型)、t(缩略图)、m(中等大小) | 相片的大小。默认:t |
| tag | string 字符串 | [可选项] | 如果是中文的,需要进行 URL 的编码,否则无法显示相片。获取方法:在 Flickr 上点击任何标签,然后地址栏会变成类似 …/tags/abcde/ 结尾的样子,其中的 abcde 就经过编码后的标签。中文的话会显示为 %E4%B8%AD%E5%9B%BD 的样子。 |
| group | string 字符串 | [可选项] | 群组的 ID。也可通过 idGettr.com 来获取。获取方法:点击任何群组,当地址栏变成类似 …/groups/china/ 结尾的样子时,将这个完整的地址复制到 idGettr.com 中进行查找即可 |
| set | integer 一串数字的字符串 | [可选项] | 相册的 ID。获取方法:点击任何相册,当地址栏变成类似 …/sets/1234567890/ 结尾的样子时,其中的 1234567890 就是该相册的 ID。 |
HTML 样式
知道了如何调用相片,下面就来看下应该如何去控制相片的显示,以配合不同主题的模板。
<div id="flickr_badge_image1" class="flickr_badge_image">
<a href="[the photo page]">
<img width="[xx]" height="[xx]" src="[the url]" title="[The photo's title]"
alt="A photo on Flickr" />
</a>
</div>
<div id="flickr_badge_image2" class="flickr_badge_image">
<a href="[the photo page]">
<img width="[xx]" height="[xx]" src="[the url]" title="[The photo's title]"
alt="A photo on Flickr" />
</a>
</div>
<div id="flickr_badge_image3" class="flickr_badge_image">
<a href="[the photo page]">
<img width="[xx]" height="[xx]" src="[the url]" title="[The photo's title]"
alt="A photo on Flickr" />
</a>
</div>
依此类推,每个相片的 ID 会自动递增。
最后再放个本人空间所用的调用链接给大家做个参考吧~~
<script type="text/javascript" src="http://www.flickr.com/badge_code_v2.gne?user=24467934%40N07&
source=user&count=4&display=random&size=t&layout=x"></script>

六月 14th, 2008 at 21:27
来看看你的Ajax Comment Plugin.
呵呵:-)
六月 15th, 2008 at 04:44
我也来测试一下
六月 15th, 2008 at 04:45
看来不错
六月 15th, 2008 at 09:24
这个是 WordPress Thread Comment,不是 Ajax Comment Plugin。
然后那些表情又是另外一个叫 Custom Smilies 的插件~~
六月 15th, 2008 at 10:25
:=( !
B| ? :E :} ! :=( :/
六月 16th, 2008 at 00:59
我也来试试看看
六月 17th, 2008 at 09:14
测试
七月 19th, 2008 at 14:25
谢谢提供
七月 27th, 2009 at 17:32
有参考价值,谢谢!我现在正在做个播放器,它要连接flickr。我希望调用flickr api,不通过浏览器,调用api用程序来下载flickr上的相片到本地硬盘或指定的文件夹下。播放器我会做。希望得到你的指点,谢谢!
七月 28th, 2009 at 19:11
@符静:
只要你能去到那段HTML代码,里面就可以分析出图片的地址,然后再进行下载,应该就可以了吧~~不过,具体会碰到怎样的问题,我就不清楚了,慢慢研究了哈~~