我一直致力于从YouTube Analytics API中提取分析数据的项目(v1,v1beta1提供了相同的结果)。我开始在批量调用中没有返回任何行,当然,我怀疑我的错误。
我在Google API资源管理器中重新创建了我的程序中的一个查询,以查看我可能出错的地方。事情变得复杂了。
注意:我正在使用OAuth并在所有位置使用同一用户的OAuth身份验证执行我的程序和API资源管理器。由于显而易见的原因,我已从此帖中省略了Authorization Bearer [token]
详细信息。
Google API Explorer查询:
GET https://www.googleapis.com/youtube/analytics/v1/reports?ids=channel%3D%3DMINE&start-date=2016-05-01&end-date=2016-05-31&metrics=views%2CestimatedMinutesWatched&dimensions=insightTrafficSourceType&filters=video%3D%3DEeEHdFmKrGo%3Bcountry%3D%3DUS&fields=rows&key={YOUR_API_KEY}
Google API Explorer结果:
200 HTTP/2.0 200
- Show headers -
{
}
邮递员查询:
GET https://www.googleapis.com/youtube/analytics/v1/reports?ids=channel%3D%3DMINE&start-date=2016-05-01&end-date=2016-05-31&metrics=views%2CestimatedMinutesWatched&dimensions=insightTrafficSourceType&filters=video%3D%3DEeEHdFmKrGo%3Bcountry%3D%3DUS&fields=rows
邮差结果:
{
"rows": [
[
"YT_PLAYLIST_PAGE",
83,
153
],
[
"YT_CHANNEL",
21,
38
],
[
"PLAYLIST",
103,
193
],
[
"SUBSCRIBER",
41,
63
],
[
"NOTIFICATION",
16,
5
],
[
"ADVERTISING",
1954,
2973
],
[
"RELATED_VIDEO",
179,
294
],
[
"YT_OTHER_PAGE",
16,
20
],
[
"EXT_URL",
98,
189
],
[
"NO_LINK_OTHER",
603,
23
],
[
"YT_SEARCH",
80,
130
]
]
}
因此数据 可用。为什么API Explorer没有显示它? API Explorer与我的程序的行为相匹配:没有返回任何行。
是的,如果我省略fields
值,它会给我列标题:
200 HTTP/2.0 200
- Show headers -
{
"kind": "youtubeAnalytics#resultTable",
"columnHeaders": [
{
"name": "insightTrafficSourceType",
"columnType": "DIMENSION",
"dataType": "STRING"
},
{
"name": "views",
"columnType": "METRIC",
"dataType": "INTEGER"
},
{
"name": "estimatedMinutesWatched",
"columnType": "METRIC",
"dataType": "INTEGER"
}
]
}
其他类似问题:
我已经验证了这些问题中的一些线索。
这些数据与我从Postman的查询中获得的数据相符。这意味着应该通过API Explorer和批处理请求提供相同的数据,但它们显然不同。
我错过了什么?我不应该在API Explorer的响应中收到行吗?同样,批量回复不应包含与我通过Postman看到的直接GET
请求相同的内容吗?
对进一步探索的任何见解或建议表示赞赏。如果你已经做到这一点,感谢你的时间。
阁楼