PHP 版快速入门

本快速入门指南介绍了如何设置一个简单的 PHP 命令行应用,该应用会向 YouTube Data API 发出请求。本快速入门实际上介绍了如何发出两个 API 请求:

  1. 您将使用 API 密钥(用于标识您的应用)检索有关 GoogleDevelopers YouTube 频道的信息。
  2. 您将使用 OAuth 2.0 客户端 ID 提交授权请求,以检索有关您自己的 YouTube 频道的信息。

前提条件

如需运行此快速入门,您需要:

  • PHP 5.4 或更高版本,并安装了命令行界面 (CLI) 和 JSON 扩展程序。
  • 全局安装的 Composer 依赖项管理工具 installed globally
  • 适用于 PHP 的 Google API 客户端库:
    • 如果您之前未安装客户端库:
      composer require google/apiclient:^2.0
    • 如果您之前安装了客户端库,建议您更新该库,以确保您拥有要测试的库的最新类:
      composer update google/apiclient --with-dependencies

第 1 步:设置项目和凭据

在 Cloud 控制台中创建或选择一个项目。在 Cloud 控制台中,为您的项目完成以下任务:

  1. 在库面板中, 搜索 YouTube Data API v3。点击该 API 的列表,并确保为您的项目启用了该 API。

  2. 在凭据 面板中 ,创建两个凭据:

    1. 创建 API 密钥 :您将使用 API 密钥发出不需要用户授权的 API 请求。例如,您不需要用户授权即可检索有关公开 YouTube 频道的信息。

    2. 创建 OAuth 2.0 客户端 ID 将应用类型设置为 桌面应用。对于需要用户授权的请求,您需要使用 OAuth 2.0 凭据。例如,您需要用户授权才能检索有关当前已通过身份验证的用户的 YouTube 频道的信息。

      下载包含 OAuth 2.0 凭据的 JSON 文件。该 文件的名称类似于 client_secret_CLIENTID.json,其中 CLIENTID 是 您项目的客户端 ID。

第 2 步:设置并运行示例

使用侧边栏中的 APIs Explorer 微件获取用于检索有关 GoogleDevelopers YouTube 频道的信息的示例代码。此请求使用 API 密钥来标识您的应用,并且不需要用户授权或运行该示例的用户的任何特殊权限。

  1. 打开 API 的 channels.list 方法的文档。
  2. 在该页面上,“常见应用场景”部分包含一个表格,其中介绍了该方法的几种常见使用方式。表格中的第一个列表是按频道 ID 列出结果。

    点击第一个列表的代码符号,以打开并填充全屏 APIs Explorer。

    图片,标识列出 channels.list 文档用例的表格中代码符号链接的位置。该图片的替代文本将图片标识为代码符号,并指定与该链接关联的用例。

  3. 全屏 APIs Explorer 的左侧显示以下内容:

    1. 在请求参数 标题下方,列出了该方法支持的参数。应设置 part 和 id 参数值。id 参数值 UC_x5XG1OV2P6uZZ5FSM9Ttw 是 GoogleDevelopers YouTube 频道的 ID。

    2. 在参数下方,有一个名为凭据 的部分。该部分中的下拉菜单应显示值 API 密钥 。APIs Explorer 默认使用演示凭据,以便您更轻松地开始使用。但您将使用自己的 API 密钥在本地运行该示例。

      此图片显示了全屏 APIs Explorer 中的“Credentials”以及下拉菜单,其中“API 密钥”选项处于选中状态。

  4. 全屏 APIs Explorer 的右侧显示了包含不同语言的代码示例的标签页。选择 PHP 标签页。

  5. 复制代码示例,并将其保存在名为 example.php 的文件中。

  6. 在您下载的示例中,找到 YOUR_API_KEY 字符串,并将其替换为您在本快速入门的第 1 步中创建的 API 密钥。

  7. 从命令行运行该示例。在工作目录中,运行:

    php example.php

  8. 该示例应执行请求并将响应输出到 STDOUT。

第 3 步:运行授权请求

在此步骤中,您将修改代码示例,使其检索有关您自己的 YouTube 频道的信息,而不是检索有关 GoogleDevelopers YouTube 频道的信息。 此请求需要用户授权。

  1. 返回到 API 的 channels.list 方法的文档。

  2. 在“常见应用场景”部分中,点击表格中第三个列表的代码符号。该应用场景是为“我的频道”调用 list 方法。

  3. 同样,在全屏 APIs Explorer 的左侧,您将看到一个参数列表,后跟凭据 部分。不过,与您检索有关 GoogleDevelopers 频道的信息的示例相比,有两处变化:

    1. 在参数部分中,应将 mine 参数值设置为 true,而不是设置 id 参数值。这会指示 API 服务器检索有关当前已通过身份验证的用户的频道的信息。

    2. 在凭据 部分中,下拉菜单应选择 Google OAuth 2.0 选项。

      此外,如果您点击显示范围 链接,则应选中 https://www.googleapis.com/auth/youtube.readonly 范围。

      此图片显示了全屏 API Explorer 中的范围,以及已选择使用“Google OAuth 2.0”凭据的选项。

  4. 与上一个示例一样,选择 PHP 标签页,复制代码示例,并将其保存到 example.php。

    在代码中,找到 YOUR_CLIENT_SECRET_FILE.json 字符串,并将其替换为您在本快速入门的第 1 步中下载的客户端密钥文件的位置。

  5. 从命令行运行该示例。在工作目录中,运行:

    php example.php

  6. 从控制台中复制网址,然后在浏览器中打开该网址。

    如果您尚未登录 Google 账号,系统会提示您登录。如果您登录了多个 Google 账号,系统会要求您选择一个账号用于授权。

  7. 点击该按钮,以授予您的应用对代码示例中指定的范围的访问权限。

  8. 从浏览器中复制授权代码,然后将其粘贴到终端中。然后,您可以关闭用于授权流程的浏览器标签页。

    API 响应应再次输出到 STDOUT。

深入阅读