1

因此,我有一个连接到YouTube的周边网络应用程序。我使用YouTube分析调用来获取来自我的频道的订户数量等信息。但现在我试着制作我频道中的前10个视频,并将视图包含在响应中包含的每个视频中。我用这个文档: Top videos for subscribed or unsubscribed viewers如何从您的频道获得前10个视频,包含在回复中的观看次数

我的电话是这样的:

$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)" 

此响应不提供视图计数。我需要每个视频来获得观看次数。 关于如何完成此任何想法?欢迎任何帮助!谢谢大家的时间!

回答

2

您的YouTube分析API问题的问题是sort参数。尝试使用值-views而不是views。您可以仔细检查您提供的API链接。还设置了max-results

实例网址:

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} 
+0

非常感谢你的帮助,现在我有视频ID和次数计数。但我也需要获得他们的头衔。有没有办法做到这一点? – Alan

+0

@Alan要获得视频标题,您必须使用YouTube API。 'https://www.googleapis.com/youtube/v3/videos?part=snippet&id= {VIDEO_ID}&key = {YOUR_API_KEY}' –

+0

非常感谢您解决了我的问题! – Alan

相关问题