本快速入门指南介绍了如何设置一个简单的 PHP 命令行应用程序来向 YouTube 数据 API 发出请求。本快速入门实际上解释了如何发出两个 API 请求:
- 您将使用用于标识您的应用程序的 API 密钥来检索有关 GoogleDevelopers YouTube 频道的信息。
- 您将使用 OAuth 2.0 客户端 ID 提交授权请求,以检索有关您自己的 YouTube 频道的信息。
先决条件
要运行此快速入门,您需要:
- PHP 5.4 或更高版本,安装了命令行界面 (CLI) 和 JSON 扩展。
- 全局安装的 Composer 依赖管理工具{: target="_blank"}
- PHP 的 Google API 客户端库:
- 如果您之前未安装客户端库:
composer require google/apiclient:^2.0
- 如果您之前安装了客户端库,我们建议您更新它以确保您拥有正在测试的库的最新类:
composer update google/apiclient --with-dependencies
- 如果您之前未安装客户端库:
第 1 步:设置您的项目和凭据
在API 控制台中创建或选择一个项目。在 API 控制台中为您的项目完成以下任务:
在库面板 中,搜索 YouTube Data API v3。单击该 API 的列表,并确保为您的项目启用了该 API。
在凭据面板中,创建两个凭据:
创建 API 密钥 您将使用 API 密钥发出不需要用户授权的 API 请求。例如,您无需用户授权即可检索有关公共 YouTube 频道的信息。
创建 OAuth 2.0 客户端 ID 将应用程序类型设置为Other。对于需要用户授权的请求,您需要使用 OAuth 2.0 凭据。例如,您需要用户授权才能检索有关当前经过身份验证的用户的 YouTube 频道的信息。
下载包含您的 OAuth 2.0 凭据的 JSON 文件。该文件的名称类似于
client_secret_CLIENTID.json
,其中CLIENTID
是您项目的客户端 ID。
第 2 步:设置并运行示例
使用侧面板中的 APIs Explorer 小部件获取用于检索有关 GoogleDevelopers YouTube 频道的信息的示例代码。此请求使用 API 密钥来标识您的应用程序,并且不需要用户授权或运行示例的用户的任何特殊权限。
- 打开 API 的channels.list方法的文档 。
在该页面上,“常见用例”部分包含一个表格,解释了使用该方法的几种常见方式。表中的第一个列表用于按频道 ID 列出结果。
单击第一个列表的代码符号以打开并填充全屏 API 资源管理器。
全屏 APIs Explorer 的左侧显示以下内容:
在请求参数标头下方,有该方法支持的参数列表。在
part
和id
参数值应设置。的id
参数值,UC_x5XG1OV2P6uZZ5FSM9Ttw
是对于Google代码YouTube频道的ID。在参数下方,有一个名为Credentials的部分。该部分中的下拉菜单应显示值API key。默认情况下,APIs Explorer 使用演示凭证以使其更容易上手。但您将使用自己的 API 密钥在本地运行示例。
全屏 API 资源管理器的右侧显示带有不同语言代码示例的选项卡。选择PHP选项卡。
复制代码示例并将其保存在名为
example.php
.在您下载的示例中,找到该
YOUR_API_KEY
字符串并将其替换为您在本快速入门的第 1 步中创建的 API 密钥。从命令行运行示例。在您的工作目录中,运行:
php example.php
该示例应执行请求并将响应打印到
STDOUT
.
第 3 步:运行授权请求
在此步骤中,您将修改代码示例,以便检索有关您的YouTube 频道的信息,而不是检索有关 GoogleDevelopers YouTube 频道的信息。此请求确实需要用户授权。
返回到 API 的channels.list方法的文档 。
在“常见用例”部分,单击表中第三个列表的代码符号。该用例是调用
list
“我的频道”的方法。同样,在全屏 API 资源管理器的左侧,您将看到参数列表,然后是凭据部分。但是,与您检索有关 GoogleDevelopers 频道的信息的示例相比,有两个更改:
中的参数部分中,而不是
id
参数值之中集,mine
参数值应设置为true
。这会指示 API 服务器检索有关当前已验证用户通道的信息。在凭据部分,下拉菜单应选择Google OAuth 2.0选项。
此外,如果您单击“显示范围”链接, 则应检查https://www.googleapis.com/auth/youtube.readonly范围。
与前面的示例一样,选择PHP选项卡,复制代码示例,并将其保存到
example.php
.在代码中,找到该
YOUR_CLIENT_SECRET_FILE.json
字符串并将其替换为您在本快速入门的第 1 步中下载的客户端机密文件的位置。从命令行运行示例。在您的工作目录中,运行:
php example.php
-
从控制台复制 URL 并在浏览器中打开它。
如果您还没有登录您的谷歌账户,系统会提示您登录。如果您登录了多个谷歌账户,您将被要求选择一个用于授权的账户。
单击该按钮可授予您的应用程序访问代码示例中指定的范围的权限。
-
从浏览器复制验证码并将其粘贴到您的终端中。然后,您可以关闭用于身份验证流程的浏览器选项卡。
API 响应应再次打印到
STDOUT
.
进一步阅读
- Google Developers Console 帮助文档
- 用于 PHP 文档的 Google API 客户端库
- GitHub 上用于 PHP 的 Google API 客户端库和用于 YouTube API 的自动生成的类。(在页面上,找到
YouTube
文件夹和YouTube.php
文件。 - YouTube 数据 API 参考文档