0

我会创建一个由 cron 作业启动的脚本,该脚本会定期将有关我的频道的数据存储在文件中。这些数据是通过 YouTube Analytics API(不是普通的 YouTube API)检索的。

我怎样才能达到这个结果?服务访问是否与这些 API 兼容?

4

1 回答 1

1

如果这只是一次性的 - 对于您的帐户 - 在您信任的服务器/桌面上运行,我认为最好的机制是:

  1. 为“已安装的应用程序”创建 OAuth 客户端 ID。创建一个 Google Cloud Console 项目,启用您需要的 API,注册您的应用程序(在“APIs & Auth”下)。
  2. 手动完成一次已安装的应用程序流程以授予自己刷新令牌 - 这将要求您打开浏览器并单击同意屏幕。
  3. 保留刷新令牌。
  4. 在随后的无人值守运行中,使用刷新令牌获取新的访问令牌以代表您进行调用。

如果您使用的是 Python - 并已安装 Google API Python 客户端,以下代码将为您执行步骤 2 - 4(假设您已完成步骤 1 并保存了 client_secrets.json 文件):

import httplib2
from oauth2client.file import Storage
from oauth2client.client import flow_from_clientsecrets
from oauth2client.tools import run
from apiclient.discovery import build

storage = Storage("/path/to/saved_user_creds.dat")
credentials = storage.get()
if credentials is None or credentials.invalid:
  credentials = run(flow_from_clientsecrets("/path/to/client_secrets.json", scope="https://www.googleapis.com/auth/yt-analytics.readonly"), storage)
http = credentials.authorize(httplib2.Http())

# Do your stuff - remember to pass the authenticated http object to execute methods
service = build("youtubeAnalytics", "v1")
result = service.object().method(name=value).execute(http=http)
于 2013-12-18T18:55:37.393 回答