2016-10-14 7 views
2

У меня проблема с google api в NodeJS с hapi. Я загружал файлы с npm, устанавливая googleapis и google-auth-library. Все настроено правильно.NodeJS & googleapis, запрос POST не работает?

function listData(auth) { 
    let webmasters = google.webmasters('v3'); 
    webmasters.searchanalytics.query({ 
    auth: auth, 
    siteUrl: 'http%3A%2F%2Falanmroczek.pl%2F', 
    startDate: "2016-09-20", 
    endDate: "2016-10-14" 
    }, function(err, response) { 
    if (err) { 
     console.log('The API returned an error: ' + err); 
     return; 
    } 

    console.log(response); 
    }); 
} 

Я уполномочен на эту сферу с помощью этого приложения (если не он выдает ошибку, поэтому я уверен, что эта часть ОКЕЙ). Когда я перечислил свои папки в gmail, он отлично работает. Неправильно может быть только эта часть кода или googleapis. Странно, для меня является то, что:

Когда я console.log запрос в Google API:

protocol: 'https:', 
slashes: true, 
auth: null, 
host: 'www.googleapis.com', 
port: null, 
hostname: 'www.googleapis.com', 
hash: null, 
search: '?startDate=2016-09-20&endDate=2016-10-14', 
query: 'startDate=2016-09-20&endDate=2016-10-14', 
pathname: '/webmasters/v3/sites/http%3A%2F%2Falanmroczek.pl%2F/searchAnalytics/query', 
path: '/webmasters/v3/sites/http%3A%2F%2Falanmroczek.pl%2F/searchAnalytics/query?startDate=2016-09-20&endDate=2016-10-14', 
href: 'https://www.googleapis.com/webmasters/v3/sites/http%3A%2F%2Falanmroczek.pl%2F/searchAnalytics/query?startDate=2016-09-20&endDate=2016-10-14' }, 

Query, путь и HREF выглядит как обычный GET, я понятия не имею, почему. Я попытался переопределить его, но все-таки получаю «бэкэнд-ошибку».

EDIT: папки списка Gmail через GET, вот почему я указал POST.

ответ

1

Это, вероятно, проблема с googleapis для Node.js. Он отправляет данные через GET, не требуя POST и JSON. Мы должны сделать это вручную.

0

Backend Ошибки, возвращаемые из вызовов API Google API, будут содержать 503 в качестве кода ошибки, что означает «Сервис недоступен».

Проверьте различные API и его статус здесь и убедитесь, что служба, которую вы пытаетесь запустить, работает нормально.

https://www.google.com/appsstatus#hl=en&v=status

Надеется, что это помогает!

+0

Я использую API-интерфейс Search Console –