API консоли поиска Google, google.webmasters.searchanalytics.query «поле startDate обязательно» - PullRequest
1 голос
/ 02 апреля 2019

Я пытаюсь использовать API консоли поиска Google (nodejs) для получения отчета о запросах. У нас есть аккаунт Google, в котором настроены все домены моей компании. Мы хотели бы получить полный список доменов из API и затем получить данные от каждого из этих доменов.

Мы можем правильно получить полный список доменов. Но мы можем получить любые данные о них.

Это краткий пример кода.

// auth is the json web token
// domain is the url of the managed domain, example: https://www.asdfg.hif

async function getDomainData(auth, domain){
    p = {
        auth        : auth,
        siteUrl     : domain,
        startDate   : '2019-03-01',
        endDate     : '2019-03-31'
    };

    try{
        portalData = await google.webmasters('v3').searchanalytics.query(p);

        console.log( portalData );

        return portalData ;
    }catch(error){
        console.log('Error %s: %s', domain, error);
        return null;
    }
}//getDomainData

Но я всегда получаю следующую ошибку. Что действительно говорит само за себя. Но я не могу выполнить это, потому что я предоставляю параметры startDate и endDate в объекте p. Я пробовал разные форматы даты, одинарные кавычки, двойные кавычки, без кавычек ... Независимо от того, что я изменяю, я всегда получаю ошибку в обязательных полях.

GaxiosError: startDate field is required.
GaxiosError: endDate field is required.

Я вижу ошибки в консоли API поиска Google, поэтому я думаю, что ошибка исходит от сервера, а не от чего-то в моем коде.

Из API Explorer я могу тестировать API без ошибок.

Я не знаю, что это может быть, но это кажется чем-то очень глупым.

1 Ответ

1 голос
/ 03 апреля 2019

Как насчет этой модификации?

В googleapis Node.js тело запроса помещается в resource. Таким образом, в вашем случае startDate и endDate помещаются в resource.

От:

p = {
    auth        : auth,
    siteUrl     : domain,
    startDate   : '2019-03-01',
    endDate     : '2019-03-31'
};

Кому:

p = {
  auth: auth,
  siteUrl: domain,
  resource: {
    startDate: '2019-03-01',
    endDate: '2019-03-31'
  }
}

Справка:

...