发布于 2015-10-07 09:50:15 | 153 次阅读 | 评论: 0 | 来源: 网络整理
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"的照片
.
例 36.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
例 36.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()
方法, 如下面的例子:
例 36.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的结果集.
![]() |
注意 |
|---|---|
该对象实现了
|
表 36.12. Zend_Service_Flickr_ResultSet 属性
| 名称 | 类别 | 描述 |
|---|---|---|
| totalResultsAvailable | int | 所有有效结果的数量 |
| totalResultsReturned | int | 所有结果的数量 |
| firstResultPosition | int | 当前结果集在所有结果集中的偏移 |
int totalResults();
返回这个结果集中所有结果的数量
Flickr query中的一个单一图片结果
表 36.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 | 原始图片 |