如何使用响应中包含的观看次数从您的频道中获取前 10 个视频
How to get top 10 videos from your channel with the views count included in the response
所以我有一个连接到 youtube 的 ouath 网络应用程序。我使用 youtube 分析调用从我的频道获取订阅者数量等信息。但现在我尝试从我的频道制作前 10 个视频,其中包含响应中每个视频的观看次数。我使用这个文档:
Top videos for subscribed or unsubscribed viewers
我的电话是这样的:
$command = 'curl -H "Authorization: Bearer ' . $access_token . '" "https://www.googleapis.com/youtube/analytics/v1/reports?ids=channel%3D%3DMINE&start-date=' . date('Y-m-d', strtotime('-31 days')) . '&end-date=' . date('Y-m-d', strtotime('today')). '&metrics=views&dimensions=video&sort=views"';
但我收到一条错误消息作为响应:
"The query is not supported. Check the documentation at https://developers.google.com/youtube/analytics/v1/available_reports for a list of supported queries."
我也用 YoTube 数据试过这个调用 API:
$videos_url = 'https://www.googleapis.com/youtube/v3/search?part=snippet&forMine=true&order=viewCount&type=video&access_token=' . $access_token;
但它提供了这样的响应:
["kind"]=>
string(26) "youtube#searchListResponse"
["etag"]=>
string(57) ""######""
["nextPageToken"]=>
string(112) "#######"
["pageInfo"]=>
object(stdClass)#267 (2) {
["totalResults"]=>
int(1)
["resultsPerPage"]=>
int(5)
}
["items"]=>
array(1) {
[0]=>
object(stdClass)#270 (4) {
["kind"]=>
string(20) "youtube#searchResult"
["etag"]=>
string(57) ""#####""
["id"]=>
object(stdClass)#269 (2) {
["kind"]=>
string(13) "youtube#video"
["videoId"]=>
string(11) "####"
}
["snippet"]=>
object(stdClass)#273 (6) {
["publishedAt"]=>
string(24) "2016-09-14T14:49:49.000Z"
["channelId"]=>
string(24) "#####"
["title"]=>
string(12) "My Slideshow"
["description"]=>
string(87) "I created this video with the YouTube Slideshow Creator (http://www.youtube.com/upload)"
此回复未提供观看次数。我需要让每个视频都获得观看次数。
关于如何实现这一目标的任何想法?欢迎任何帮助!谢谢大家的宝贵时间!
您的 YouTube 分析 api 请求的问题是 sort
参数。尝试使用值 -views
而不是 views
。您可以仔细检查您提供的 API link。同时设置 max-results
示例URL:
https://www.googleapis.com/youtube/analytics/v1/reports?ids=channel%3D%3Dmine&start-date=2016-05-01&end-date=2016-09-01&metrics=views&dimensions=video&max-results=10&sort=-views&key={YOUR_API_KEY}
所以我有一个连接到 youtube 的 ouath 网络应用程序。我使用 youtube 分析调用从我的频道获取订阅者数量等信息。但现在我尝试从我的频道制作前 10 个视频,其中包含响应中每个视频的观看次数。我使用这个文档: Top videos for subscribed or unsubscribed viewers
我的电话是这样的:
$command = 'curl -H "Authorization: Bearer ' . $access_token . '" "https://www.googleapis.com/youtube/analytics/v1/reports?ids=channel%3D%3DMINE&start-date=' . date('Y-m-d', strtotime('-31 days')) . '&end-date=' . date('Y-m-d', strtotime('today')). '&metrics=views&dimensions=video&sort=views"';
但我收到一条错误消息作为响应:
"The query is not supported. Check the documentation at https://developers.google.com/youtube/analytics/v1/available_reports for a list of supported queries."
我也用 YoTube 数据试过这个调用 API:
$videos_url = 'https://www.googleapis.com/youtube/v3/search?part=snippet&forMine=true&order=viewCount&type=video&access_token=' . $access_token;
但它提供了这样的响应:
["kind"]=>
string(26) "youtube#searchListResponse"
["etag"]=>
string(57) ""######""
["nextPageToken"]=>
string(112) "#######"
["pageInfo"]=>
object(stdClass)#267 (2) {
["totalResults"]=>
int(1)
["resultsPerPage"]=>
int(5)
}
["items"]=>
array(1) {
[0]=>
object(stdClass)#270 (4) {
["kind"]=>
string(20) "youtube#searchResult"
["etag"]=>
string(57) ""#####""
["id"]=>
object(stdClass)#269 (2) {
["kind"]=>
string(13) "youtube#video"
["videoId"]=>
string(11) "####"
}
["snippet"]=>
object(stdClass)#273 (6) {
["publishedAt"]=>
string(24) "2016-09-14T14:49:49.000Z"
["channelId"]=>
string(24) "#####"
["title"]=>
string(12) "My Slideshow"
["description"]=>
string(87) "I created this video with the YouTube Slideshow Creator (http://www.youtube.com/upload)"
此回复未提供观看次数。我需要让每个视频都获得观看次数。 关于如何实现这一目标的任何想法?欢迎任何帮助!谢谢大家的宝贵时间!
您的 YouTube 分析 api 请求的问题是 sort
参数。尝试使用值 -views
而不是 views
。您可以仔细检查您提供的 API link。同时设置 max-results
示例URL:
https://www.googleapis.com/youtube/analytics/v1/reports?ids=channel%3D%3Dmine&start-date=2016-05-01&end-date=2016-09-01&metrics=views&dimensions=video&max-results=10&sort=-views&key={YOUR_API_KEY}