我到目前为止发现的最接近的问题是
How to use the Youtube Analytics API to get the metric "earnings"?
但是它仍然有所不同,因为在我看来,我的问题只是ui配置(我可能是错的,因为我从未使用过Google产品。经过反复试验,我仍然不知道如何解决我的问题)。
我的问题:
在python示例(https://github.com/youtube/api-samples/blob/master/python/yt_analytics_v2.py)之后,我可以使用参数ids=channel=MINE
,metrics=likes...
等执行api,而不会出现问题。
因此,我从https://console.developers.google.com创建了新凭据(凭据> 创建凭据> OAuth客户端ID > 其他 ...)。然后,与YouTube分析api相关联的名称将显示在 OAuth 2.0客户端ID 部分。
但是,将该客户端机密文件(在上一步中创建的)传递给api InstalledAppFlow.from_client_secrets_file(client_secret_file, SCOPES)
时,python脚本在抱怨Insufficient permission to access this report
下方抛出了错误
<HttpError 401 when requesting https://youtubeanalytics.googleapis.com/v2/reports?startDate=...&endDate=...&dimensions=...&ids=contentOwner...&metrics=...&filters=channel...&alt=json returned "Insufficient permission to access this report.">
代码与Google github存储库中提供的示例python脚本几乎相同,除了查询参数不同
# os.environ['OAUTHLIB_INSECURE_TRANSPORT'] = '1'
...
ids='contentOwner==<content owner id>',
startDate='<start date>',
endDate=end_date,
dimensions='day',
filters='channel==<channel id>',
metrics=grossRevenue,adImpressions,cpm
以及相关的范围信息如下
SCOPES = ['https://www.googleapis.com/auth/yt-analytics.readonly',
'https://www.googleapis.com/auth/yt-analytics-monetary.readonly']
API_SERVICE_NAME = 'youtubeAnalytics'
API_VERSION = 'v2'
如何解决此问题?谢谢。