Zend_Service_Flickr
i是一组用来使用Flickr REST Web Service 的简单API.
为了可以使用Flickr web services, 你必须拥有 API key. 获取key或需要Flickr REST Web Service更多详细信息, 请访问
Flickr API Documentation.
在下面的例子中, 我们使用 tagSearch()
方法来搜索tag中有 "php"的照片
.
例 43.27. 简单的 Flickr 照片搜索
<?php require_once 'Zend/Service/Flickr.php'; $flickr = new Zend_Service_Flickr('MY_API_KEY'); $results = $flickr->tagSearch("php"); foreach ($results as $result) { echo $result->title . '<br />'; } ?>
注意 | |
---|---|
|
Zend_Service_Flickr
提供三种不同的方法来得到 Flickr的用户信息:
userSearch()
: 接受一个以空格来作为分隔符的(由tag构成)查询字符串,用数组的方式(可选)来指定搜索选项, 返回一个
Zend_Service_Flickr_ResultSet
对象.
getIdByUsername()
: 以字符串的格式返回与给定用户名关联的用户 ID
getIdByEmail()
: 以字符串的格式返回与给定email地址关联的用户 ID
例 43.28. 用email地址来查找Flickr用户
在这个例子中, 我们有一个Flickr用户的e-mail 地址, 并用
userSearch()
方法获得用户的信息:
<?php require_once 'Zend/Service/Flickr.php'; $flickr = new Zend_Service_Flickr('MY_API_KEY'); $results = $flickr->userSearch($userEmail); foreach ($results as $result) { echo $result->title . '<br />'; } ?>
Zend_Service_Flickr
使我们可以使用给定的图像id来非常方便快捷的得到图像的详细信息,使用getImageDetails()
方法, 如下面的例子:
例 43.29. 获得 Flickr 图像详细资料
一旦你有一个Flickr 图像的ID,获得它的详细信息将是小事一桩:
<?php require_once 'Zend/Service/Flickr.php'; $flickr = new Zend_Service_Flickr('MY_API_KEY'); $image = $flickr->getImageDetails($imageId); echo "Image ID $imageId is $image->width x $image->height pixels.<br />\n"; echo "<a href=\"$image->clickUri\">Click for Image</a>\n"; ?>
下面列出的是将由tagSearch()
和 userSearch()
返回的一些类:
代表一个Flickr search的结果集.
注意 | |
---|---|
该对象实现了
|
表 43.12. Zend_Service_Flickr_ResultSet 属性
名称 | 类别 | 描述 |
---|---|---|
totalResultsAvailable | int | 所有有效结果的数量 |
totalResultsReturned | int | 所有结果的数量 |
firstResultPosition | int | 当前结果集在所有结果集中的偏移 |
int totalResults();
返回这个结果集中所有结果的数量
Flickr query中的一个单一图片结果
表 43.13. Zend_Service_Flickr_Result 属性
名称 | 类别 | 描述 |
---|---|---|
id | int | 图片 ID |
owner | int | 相片所有者的 NSID. |
secret | string | 一个用于构建url的key |
server | string | 用于构建url的服务器名称 |
title | string | 相片的title |
ispublic | boolean | 相片是否是公开的 |
isfriend | boolean | 因为你是相片所有者的朋友,相片对你可见 |
isfamily | boolean | 因为你是相片所有者的亲属,相片对你可见 |
license | string | 相片基于什么license |
date_upload | string | 上传相片的时间 |
date_taken | string | 拍照的时间 |
owner_name | string | 相片所有者的名字 |
icon_server | string | 用来装配图标 URLs的服务器 |
Square | Zend_Service_Flickr_Image | 一个 75x75像素大小的预览图 |
Thumbnail | Zend_Service_Flickr_Image | 一个100像素大小的预览图 |
Small | Zend_Service_Flickr_Image | 一个240像素大小的图片 |
Medium | Zend_Service_Flickr_Image | 一个500像素大小的图片 |
Large | Zend_Service_Flickr_Image | 一个640像素大小的图片 |
Original | Zend_Service_Flickr_Image | 原始图片 |