3.4.1 扩展类库:优酷开放平台接口调用

此扩展可用于对优酷开放平台提供的接口进行快速调用,并将失败的情况以debug方式写入日记。

3.4.2 安装和配置

PhalApi-Library 扩展库中下载获取 YoukuClient 优酷接口客户端,如使用:

  1. $ git clone https://git.oschina.net/dogstar/PhalApi-Library.git

然后把 YoukuClient 目录复制到 ./PhalApi/Library/ 下,即:

  1. $ cp ./PhalApi-Library/YoukuClient/ ./PhalApi/Library/ -R

到此安装完毕!

3.4.3 使用

可以先在初始化文件init.php中引入扩展类库,并注册一个youkuClient的服务:

  1. //$ vim ./Public/init.php
  2. $loader->addDirs('Library');
  3. DI()->youkuClient = function() {
  4. return new YoukuClient_Lite('https://openapi.youku.com', 'b043a60fbef8aed0');
  5. };

然后,就可以在项目中使用youkuClient这个服务来实现对优酷平台接口的调用。

通常,我们会在Model层包装这一层数据来源的获取。但这里只是了为演示的效果,全部将代码放到Api里面,如:

  1. //$ vim ./Demo/Api/Youku.php
  2. <?php
  3. class Api_Youku extends PhalApi_Api {
  4. public function showBasic()
  5. {
  6. $uri = '/v2/videos/show_basic.json';
  7. $params = array(
  8. 'video_url' => 'http://v.youku.com/v_show/id_XOTA4ODU4NjA0.html'
  9. );
  10. $timeoutMs = 3000;
  11. $info = DI()->youkuClient->get($uri, $params, $timeoutMs);
  12. return array('id' => $info['id'], 'title' => $info['title']);
  13. }
  14. }

请求一下对应的接口,便可以获得以下的运行效果:

0310

对应的优酷视频是: 【双语字幕】Apple Watch 动手玩 - The Verge

原文: https://www.phalapi.net/wikis/3-4.html