clowdy / vimeo-api
Vimeo PHP 库的 Composer 封装
Requires
- php: >=5.3.0
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,让他们登录并验证他们是否将授予您的应用程序所需的权限。基本步骤如下
- 初始化 Vimeo API 句柄,
$vimeo = new Vimeo(YOUR_APPLICATION_ID, YOUR_APPLICATION_SECRET); - 将用户发送到 Vimeo 的授权页面。链接由
$vimeo->buildAuthorizationEndpoint($redirect_uri, $scopes);提供(注意:如果您的应用程序仅需要公共信息,可以省略范围参数)。 - 用户在 Vimeo 网站上验证并授权您的应用程序后,将被重定向回 $redirect_uri 提供的位置。(注意:此 URI 必须在 开发者网站 上注册)。
- 当用户返回时,我们将有一个查询字符串参数
code。 - 现在我们有了代码,我们需要将其交换为访问令牌。我们重复第 1 步以获取 Vimeo API 的句柄。
- 可以通过调用
$vimeo->accessToken($code, $redirect_uri);来交换代码。
这可以在 examples/auth.php 中的示例中看到。
上传文件
上传文件可以通过两种方式之一进行
- 将文件流式传输到 Vimeo 服务器
- 从客户端网络浏览器 POST 文件
库在 examples/upload.php 中提供了方法 #1 的示例工具。
如果您想将上传功能与现有的 PHP 应用程序集成,应遵循以下步骤
- 初始化一个
Vimeo类以使用正确的凭据与服务器交互。 * - 使用您文件的路径调用
$vimeo->upload($file_path)。 - 该函数的响应将包含一个带有新建资源 URI 的
Location标头。您可以调用该 URI 来设置元数据,例如标题或检查转码状态。
**注意**:Vimeo要求执行上传的应用请求并获得特殊权限。这可以在Vimeo开发者网站上完成。
如果您正在开发一个Web应用程序,并希望用户直接将视频上传到Vimeo的服务器而不是通过您的服务器中继,您可以使用POST方法。这种方法的简单实现如下
- 在Vimeo开发者网站上配置您的重定向目标。
- 确保您的回调功能正常,当Vimeo完成上传后,它将接收数据。
- 使用适当的凭证初始化一个
Vimeo类来与服务器交互(需要与流式传输API相同的特殊权限)。 - 调用
$vimeo->request('/me/videos', array('type' => 'POST', 'redirect_url' => $redirect_target), 'POST') - 响应体应包含一个名为
form的字段,可以通过$response['body']->form访问。这些内容应打印到您的页面上并发送给最终用户。一旦他们提交表单,视频将被发送到Vimeo的服务器,我们将在将他们发送回提供的重定向_url之前完成流程。 - 当用户回到重定向_url时,您将有一个额外的查询参数(任何您可能包含的参数)名为
video_uri。这可以用于通过标准API方法加载和编辑新创建的剪辑。
故障排除
- 待办解释“curl未找到”错误
- 如果您的API请求返回一个空数组,这通常意味着您没有适当的https证书。您可以在以下链接中找到有关如何解决问题的更多信息: http://unitstep.net/blog/2009/05/05/using-curl-in-php-to-access-https-ssltls-protected-sites/
贡献者
- dashron
- sclm
- sgmendez (32e4d7753a66e71dd158bf55b8a4b30ed564ef30)