Ошибка 500 backendError с Gmail API и Google API Node Client
Я пытаюсь использовать новыйGmail API сКлиент Google API Node, Я создал новый проект из консоли разработчика, настроил новый идентификатор клиента «Учетная запись службы» и включил доступ к API.
В качестве доказательства концепции я просто пытаюсь перечислить темы в моем почтовом ящике. Когда я включаю OAuth 2.0 для переключенияAPI проводник и введите мой адрес электронной почты, запрос успешно выполняется, и я вижу ответ JSON с данными.
Теперь я пытаюсь сделать то же самое в Node:
var googleapis = require('googleapis');
var SERVICE_ACCOUNT_EMAIL = '...SNIP...';
// generated by: openssl pkcs12 -in ...SNIP...p12 -out key.pem -nocerts -nodes
var SERVICE_ACCOUNT_KEY_FILE = 'key.pem';
var jwt = new googleapis.auth.JWT(
SERVICE_ACCOUNT_EMAIL,
SERVICE_ACCOUNT_KEY_FILE,
null,
['https://www.googleapis.com/auth/gmail.readonly']);
googleapis
.discover('gmail', 'v1')
.execute(function(err, client) {
jwt.authorize(function(err, result) {
if(err) console.error(err);
else console.log(result);
client.gmail.users.threads.list()
.withAuthClient(jwt)
.execute(function(err, result) {
if(err) console.error(err);
else console.log(result);
});
});
});
Сначала я печатаю результатыauthorize()
вызов, который выглядит так, как будто он возвращает токен, поэтому я думаю, что все настройки OAuth правильно настроены:
{ access_token: '...SNIP...',
token_type: 'Bearer',
expires_in: 1404277946,
refresh_token: 'jwt-placeholder' }
Затем я пытаюсь использовать API, но получаю ошибку:
{ errors:
[ { domain: 'global',
reason: 'backendError',
message: 'Backend Error' } ],
code: 500,
message: 'Backend Error' }
На данный момент, я не знаю, что еще попробовать. ясчитать OAuth работает правильно, потому что я не получил никаких ошибок аутентификации. Я такжесчитать сам API работает, и с моей учетной записью все в порядке, потому что я могу использовать его через API Explorer. Я не вижу никаких признаков того, что библиотека Node тоже виновата. Короче я понятия не имею в чем проблема. Есть идеи?