api - 如何从 channel 中获取前10个视频,并在响应中包含观看次数

标签 api youtube youtube-data-api youtube-analytics youtube-analytics-api

因此,我有一个连接到youtube的正式网络应用。我使用youtube Analytics(分析)电话从我的 channel 获取信息,例如订阅者数量。但是现在,我尝试制作 channel 中排名前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链接。同时设置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}

关于api - 如何从 channel 中获取前10个视频,并在响应中包含观看次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39512382/

相关文章:

firefox - 访问Firefox扩展/附加组件的脚本

java - 无法解决 YouTube 类/符号、YouTube 数据 API Java 示例问题

IOS - 使用 Youtube API 检查 Youtube 视频是否存在

javascript - Postman API - setNextRequest 未设置下一个请求

ios - Spotify 获取所有用户的播放列表

android - 如何以图片模式在我的 Activity 图片中播放youtube视频

android - 如何在Android应用程序中防止 “complete action using”对话框

json - 如何处理 HTTP PUT 中的不可变字段和派生字段?

ruby-on-rails - 如何从Rails中的Elasticsearch检索所有记录

c# - 创建 Azure 函数时出现问题 "No job functions found"错误