Python 快速入门

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

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

前提条件

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

  • Python 2.7 或 Python 3.5+

  • pip 软件包管理工具

  • 适用于 Python 的 Google API 客户端库:

    pip install --upgrade google-api-python-client
    
  • google-auth-oauthlib 和 google-auth-httplib2 库,用于用户授权。

    pip install --upgrade google-auth-oauthlib google-auth-httplib2
    

第 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 widget 获取用于检索有关 GoogleDevelopers YouTube 频道的信息的示例代码。此请求使用 API 密钥来标识您的应用,并且不需要用户授权或运行该示例的用户的任何特殊权限。

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

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

    图片,用于标识列出渠道使用情形的表格中代码符号链接的位置。相应图片的替代文本将该图片标识为代码符号,并指定与该链接关联的使用情形。

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

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

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

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

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

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

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

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

    python example.py

  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. 与上一个示例一样,选择 Python 标签页,复制代码示例,并将其保存到 example.py。

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

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

    python example.py

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

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

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

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

    API 响应应再次输出到 STDOUT。

深入阅读