如何使用访问令牌获取youtube api客户端句柄

时间:2015-08-07 05:33:37

标签: python youtube-api youtube-analytics-api

我正在尝试使用youtube analytics API。我已经在某个数据库中存储了通道的访问令牌。在Php中,您可以构建客户端,只需添加访问令牌client_id,client_secret,然后使用客户端调用youtube分析。

然而,在python示例中,我看到了类似这样的内容:

flow = flow_from_clientsecrets(
    CLIENT_SECRETS_FILE,
    scope=' '.join(YOUTUBE_SCOPES),
    message=MISSING_CLIENT_SECRETS_MESSAGE)

storage = Storage('%s-oauth2.json' % sys.argv[0])
credentials = storage.get()

if credentials is None or credentials.invalid:
    credentials = run_flow(flow, storage, data)

http = credentials.authorize(httplib2.Http())

yt.analytics = build(
    YOUTUBE_ANALYTICS_API_SERVICE_NAME,
    YOUTUBE_ANALYTICS_API_VERSION,
    http=http)

使用浏览器对用户进行身份验证。因为我已经在数据库中存储了access_token,所以我不需要执行该步骤。问题是如何在access_token函数调用中使用build(),以便我可以继续下面的查询。

analytics_query_response = yt_analytics.reports().query(
    ids='channel==',
    metrics=options.metrics,
    dimensions=options.dimensions,
    start_date=options.start_date,
    end_date=options.end_date,
    max_results=options.max_results,
    sort=options.sort,
).execute()

1 个答案:

答案 0 :(得分:2)

不幸的是,access_token函数没有credentials参数。以下是docs

您也可以创建这样的from oauth2client.client import GoogleCredentials from oauth2client import GOOGLE_TOKEN_URI access_token = YOUR_TOKEN token_expiry = None token_uri = GOOGLE_TOKEN_URI user_agent = 'Python client library' revoke_uri = None credentials = GoogleCredentials( access_token, client_id, client_secret, refresh_token, token_expiry, token_uri, user_agent, revoke_uri=revoke_uri ) 对象(可能是您正在寻找的):

char number[4];
for (i=0; i<4; i++) {
    number[i] = getchar();
    getchar();
}