0
votes

Authentification ASYNC à l'aide de Google Apis

J'ai le code suivant:

const Calendar = require('./above-code.js');
await Calendar.list();


0 commentaires

3 Réponses :


-1
votes

Vous ajoutez JWT à l'objet, non comme une variable distincte, il devrait donc être: xxx

objet.Assign (calendrier, {JWT : 'valeur'}); équivalent à calendar.jwt = 'valeur' ​​. Et vous vous référez comme s'il était fait de cette manière: xxx


2 commentaires

Désolé je ne comprends pas tout à fait. C'est le code exact que j'ai dans la question. Pouvez-vous clarifier un peu plus?


Désolé Bato, ça ne ressemblait pas à c'était le problème pour moi. Je vais répondre dans une seconde!



0
votes

a pris une pause avant de revenir à cela - la meilleure solution pour moi semble devenir moins frustrée avant de continuer dans un problème frustrant.

Premièrement, j'ai déplacé la propriété API la fonction initapi et renvoyé qu'il semblait résoudre ma question: xxx

Cependant, une seconde mise en garde était que maintenant, il est maintenant tenu de se plaindre d'une Client.Request Vous ne trouverez pas - s'avère que Google dispose de deux séries d'outils authentifiés.

Après avoir changé en Google-Auth-Library (au lieu d'utiliser googleapis Intégré intégré auth.jwt ) J'ai reçu une réponse du serveur, sans aucun client.Request plaintes: xxx

Ça marche! J'espère que cela aide quelqu'un qui a ce problème.

EDIT : En outre, reportez-vous à l'exemple de Google ici pour le chargement automatique du fichier JSON téléchargeable à partir du tableau de bord de Google API.


0 commentaires

0
votes

La réponse est quelque peu difficile à suivre en raison de la manière dont l'auteur construit l'objet du module.

Voici une version simplifiée qui utilise des promesses et ne nécessite pas le Google-Auth-Library Code>. P>

const { google } = require("googleapis");

function auth() {
  const gAccount = //

  const jwt = new google.auth.JWT(gAccount.client_email, null, gAccount.private_key, gAccount.scope);
  return jwt.authorize().then(() => google.calendar({ version: "v3", auth: jwt }));
}

function listCalendars() {
  return auth().then(calendar => {
    return calendar
      .calendarList.list({ showHidden: true })
      .then(res => res.data.items);
  });
}


0 commentaires