Как сделать HTTP-вызов API YouTube Analytics? - PullRequest
1 голос
/ 10 июля 2019

Я хочу получить информацию о ключевых словах, привлекающих трафик на мой собственный канал YouTube за последние 7 дней. Для этого я следовал всем инструкциям . Затем я сгенерировал новый 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"
            }
        ]
    }
}

Что я делаю неправильно, когда создаю такой запрос?

Ответы [ 2 ]

1 голос
/ 10 июля 2019
   "error": {
        "code": 400,
        "message": "Required",
        "errors": [
            {
                "message": "Required",
                "domain": "global",
                "reason": "required"
            }
        ]
    }

Это действительно очень плохое сообщение об ошибке, в котором говорится, что вы пропустили обязательное поле.

Если вы проверите Документация , вы заметите, что startdate and enddate обязательные поля. Вы забыли добавить их в свой запрос

Также, когда вы заходите так далеко, вы разделяете измерения и метрики с, а не с;

0 голосов
/ 10 июля 2019

Таким образом, проблема была в параметрах запроса, которые я установил неправильно. Вот как должен быть сформирован 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
...