clowdy/vimeo-api

Vimeo PHP 库的 Composer 封装

安装: 1,475

依赖: 0

建议者: 0

安全: 0

星标: 0

关注者: 5

分支: 209

3.0 2014-07-03 13:22 UTC

This package is not auto-updated.

Last update: 2024-09-24 01:38:13 UTC


README

这是 Vimeo API 的官方 PHP 库的分支,经过修改以支持 @composer

vimeo.php

Vimeo.php 是用于与最新版本的 Vimeo API 交互的库。

安装

要安装 vimeo.php,您可以从 https://github.com/vimeo/vimeo.php 下载最新版本。

要在您的代码中使用库,您应该包含 vimeo.php

用法

发起 API 请求

在 Vimeo API 中,所有请求都必须以某种方式进行身份验证。对于仅需要访问公共信息的应用程序,我们提供 oAuth2 的客户端凭据授权。对于需要用户进行身份验证的应用程序,提供 oAuth2 的授权代码授权。

以下是一个使用示例

//  Create a handle for the Vimeo API, with the access token.
$vimeo = new Vimeo(YOUR_APPLICATION_ID, YOUR_APPLICATION_SECRET, ACCESS_TOKEN);
//  Request the authenticated user's information
$user_data = $vimeo->request('/me');
仅应用程序访问令牌

要获取应用程序仅令牌,您应该运行以下代码(注释以清晰起见)。

//  Create a handle for the Vimeo API.
$vimeo = new Vimeo(YOUR_APPLICATION_ID, YOUR_APPLICATION_SECRET);
//  Request the client credentials from the authentication server.
$token_response = $vimeo->clientCredentials();

此响应将包含您可以添加到该句柄的令牌,通过 $vimeo->setToken($token_from_response)。此令牌应存储以供以后使用,您可以通过使用它并跳过请求步骤来在未来的运行中节省时间。

用户身份验证访问令牌

让用户通过您的应用程序进行身份验证稍微复杂一些。您的应用程序将需要将用户重定向到 Vimeo,让他们登录并验证他们是否将授予您的应用程序所需的权限。基本步骤如下

  1. 初始化 Vimeo API 句柄,$vimeo = new Vimeo(YOUR_APPLICATION_ID, YOUR_APPLICATION_SECRET);
  2. 将用户发送到 Vimeo 的授权页面。链接由 $vimeo->buildAuthorizationEndpoint($redirect_uri, $scopes); 提供(注意:如果您的应用程序仅需要公共信息,可以省略范围参数)。
  3. 用户在 Vimeo 网站上验证并授权您的应用程序后,将被重定向回 $redirect_uri 提供的位置。(注意:此 URI 必须在 开发者网站 上注册)。
  4. 当用户返回时,我们将有一个查询字符串参数 code
  5. 现在我们有了代码,我们需要将其交换为访问令牌。我们重复第 1 步以获取 Vimeo API 的句柄。
  6. 可以通过调用 $vimeo->accessToken($code, $redirect_uri); 来交换代码。

这可以在 examples/auth.php 中的示例中看到。

上传文件

上传文件可以通过两种方式之一进行

  1. 将文件流式传输到 Vimeo 服务器
  2. 从客户端网络浏览器 POST 文件

库在 examples/upload.php 中提供了方法 #1 的示例工具。

如果您想将上传功能与现有的 PHP 应用程序集成,应遵循以下步骤

  1. 初始化一个 Vimeo 类以使用正确的凭据与服务器交互。 *
  2. 使用您文件的路径调用 $vimeo->upload($file_path)
  3. 该函数的响应将包含一个带有新建资源 URI 的 Location 标头。您可以调用该 URI 来设置元数据,例如标题或检查转码状态。

**注意**:Vimeo要求执行上传的应用请求并获得特殊权限。这可以在Vimeo开发者网站上完成。

如果您正在开发一个Web应用程序,并希望用户直接将视频上传到Vimeo的服务器而不是通过您的服务器中继,您可以使用POST方法。这种方法的简单实现如下

  1. Vimeo开发者网站上配置您的重定向目标。
  2. 确保您的回调功能正常,当Vimeo完成上传后,它将接收数据。
  3. 使用适当的凭证初始化一个Vimeo类来与服务器交互(需要与流式传输API相同的特殊权限)。
  4. 调用$vimeo->request('/me/videos', array('type' => 'POST', 'redirect_url' => $redirect_target), 'POST')
  5. 响应体应包含一个名为form的字段,可以通过$response['body']->form访问。这些内容应打印到您的页面上并发送给最终用户。一旦他们提交表单,视频将被发送到Vimeo的服务器,我们将在将他们发送回提供的重定向_url之前完成流程。
  6. 当用户回到重定向_url时,您将有一个额外的查询参数(任何您可能包含的参数)名为video_uri。这可以用于通过标准API方法加载和编辑新创建的剪辑。

故障排除

  1. 待办解释“curl未找到”错误
  2. 如果您的API请求返回一个空数组,这通常意味着您没有适当的https证书。您可以在以下链接中找到有关如何解决问题的更多信息: http://unitstep.net/blog/2009/05/05/using-curl-in-php-to-access-https-ssltls-protected-sites/

贡献者