5
我想使用NodeJS訪問Gmail API。Gmail API是否支持JWT?
我正在使用服務器到服務器的方法(請參閱this),但是當我執行下面的代碼時,我從Google API得到一個backEndError代碼500。
任何想法?
var authClient = new google.auth.JWT(
'email',
'key.pem',
// Contents of private_key.pem if you want to load the pem file yourself
// (do not use the path parameter above if using this param)
'key',
// Scopes can be specified either as an array or as a single, space-delimited string
['https://www.googleapis.com/auth/gmail.readonly']
);
authClient.authorize(function(err, tokens) {
if (err)
console.log(err);
gmail.users.messages.list({ userId: 'me', auth: authClient }, function(err, resp) {
// handle err and response
if (err) {
console.log(err);
});
+1爲好問題。我不知道,我會第二次瀏覽https://developers.google.com/accounts/docs/OAuth2Login並檢查是否所有步驟都符合預期(此部分在您的代碼中不可見)。一種情況下,這可能會失敗,如果'我'帳戶使用兩步驗證。在這種情況下,軟件代理需要使用'me'爲其創建的特殊令牌(https://developers.google.com/google-apps/help/faq/auth#what_twostep) – xmojmr 2014-08-30 03:27:26
我也試圖使用JWT但得到'access_denied請求的客戶端沒有授權.' – webjay 2014-09-15 18:24:45
我可以問你關於'new google.auth.JWT'的參數嗎?我使用'key.client_email'作爲第一個參數,'null'作爲第二個參數,'key.private_key'作爲第三個參數,然後作用於作用域。我應該從哪個用戶那裏獲取郵件?我需要從域內的各個帳戶獲取電子郵件。 – Kunok 2016-09-09 13:10:47