3.4.1 扩展类库:优酷开放平台接口调用
此扩展可用于对优酷开放平台提供的接口进行快速调用,并将失败的情况以debug方式写入日记。
3.4.2 安装和配置
从 PhalApi-Library 扩展库中下载获取 YoukuClient 优酷接口客户端,如使用:
$ git clone https://git.oschina.net/dogstar/PhalApi-Library.git
然后把 YoukuClient 目录复制到 ./PhalApi/Library/ 下,即:
$ cp ./PhalApi-Library/YoukuClient/ ./PhalApi/Library/ -R
到此安装完毕!
3.4.3 使用
可以先在初始化文件init.php中引入扩展类库,并注册一个youkuClient的服务:
//$ vim ./Public/init.php
$loader->addDirs('Library');
DI()->youkuClient = function() {
return new YoukuClient_Lite('https://openapi.youku.com', 'b043a60fbef8aed0');
};
然后,就可以在项目中使用youkuClient这个服务来实现对优酷平台接口的调用。
通常,我们会在Model层包装这一层数据来源的获取。但这里只是了为演示的效果,全部将代码放到Api里面,如:
//$ vim ./Demo/Api/Youku.php
<?php
class Api_Youku extends PhalApi_Api {
public function showBasic()
{
$uri = '/v2/videos/show_basic.json';
$params = array(
'video_url' => 'http://v.youku.com/v_show/id_XOTA4ODU4NjA0.html'
);
$timeoutMs = 3000;
$info = DI()->youkuClient->get($uri, $params, $timeoutMs);
return array('id' => $info['id'], 'title' => $info['title']);
}
}
请求一下对应的接口,便可以获得以下的运行效果:
对应的优酷视频是: 【双语字幕】Apple Watch 动手玩 - The Verge