5
Desidero accedere all'API di Gmail tramite NodeJS.L'API di Gmail supporta JWT?
Sto utilizzando un approccio server-to-server (vedere this) ma quando eseguo il codice di seguito, ottengo un backEndError, codice 500 dall'API di Google.
Qualche idea?
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 per una buona domanda. Non lo so, vorrei passare attraverso https://developers.google.com/accounts/docs/OAuth2Login per la seconda volta e verificare se tutti i passaggi sono come previsto (questa parte non è visibile nel codice). Un caso in cui questo probabilmente fallirebbe è se l'account "me" utilizza l'autenticazione in due passaggi. In tal caso gli agenti software devono utilizzare token speciali creati solo per loro da "me" (https://developers.google.com/google-apps/help/faq/auth#what_twostep) – xmojmr
Sto anche provando a utilizzare JWT ma ottieni 'access_denied Client richiesto non autorizzato. – webjay
Posso chiederti dei parametri che hai dato a' new google.auth.JWT'? Ho usato 'key.client_email' come primo parametro,' null' come secondo, 'key.private_key' come terzo e poi scopes. Dove posso dire da quale utente devo recuperare i messaggi? Ho bisogno di recuperare e-mail da vari account all'interno del dominio. – Kunok