如何对 YouTube 分析 API 进行 HTTP 调用?

How to make an HTTP call to YouTube Analytics API?

我想获取有关过去 7 天内为我自己的 YouTube 频道带来流量的热门关键字的信息。为了做到这一点,我关注了所有 instructions。然后我为我的帐户

生成了一个新的access_token

当我提出这样的要求时:

curl -X GET \
  'https://youtubeanalytics.googleapis.com/v2/reports?dimensions=insightTrafficSourceDetail;7DayTotals&metrics=views&filters=insightTrafficSourceType==YT_SEARCH;channel==MINE&maxResults=10&sort=-views' \
  -H 'Authorization: Bearer access_token'

我收到一个错误:

    "error": {
        "code": 400,
        "message": "Required",
        "errors": [
            {
                "message": "Required",
                "domain": "global",
                "reason": "required"
            }
        ]
    }
}

我在构建这种请求时做错了什么?

   "error": {
        "code": 400,
        "message": "Required",
        "errors": [
            {
                "message": "Required",
                "domain": "global",
                "reason": "required"
            }
        ]
    }

基本上是一个非常糟糕的错误消息,告诉您缺少必填字段。

如果您检查 Documentation,您会注意到 startdate and enddate 是必填字段。您忘记将它们添加到您的请求中

此外,当你做到这一点时,你可以用 分隔维度和指标,而不是 ;

所以问题出在查询参数上,我设置不正确。为了从问题中获取数据,URL 应该如何形成:

https://youtubeanalytics.googleapis.com/v2/reports?dimensions=insightTrafficSourceDetail&metrics=views&filters=insightTrafficSourceType==YT_SEARCH&maxResults=10&sort=-views&startDate=2019-07-03&endDate=2019-07-10&ids=channel==MINE