发布于 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 />';
}
?>       | ![[注意]](http://www.php100.com/manual/ZendFramework/images/note.png) | 注意 | 
|---|---|
| 
             | 
            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的结果集.
| ![[注意]](http://www.php100.com/manual/ZendFramework/images/note.png) | 注意 | 
|---|---|
| 
                该对象实现了
                 | 
表 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 | 原始图片 |