J'ai créé Google Spreadsheet et doté d'un accès en édition à tous (peut éditer même sans connexion).
Voici le lien . Je souhaite mettre à jour cette feuille avec l'API Google Spreadsheet. Mais je reçois une erreur. Mon exigence est de mettre à jour la feuille via l'API même sans identifiant d'accès.
Il est possible d'écrire sur une feuille de calcul sans OAuth
ou API Keys
. Vous devez utiliser Service Account Keys
.
Voici ce que j'ai fait pour mon environnement Node.js.
Furnish a new private key
JSON
quand il vous est demandé comment télécharger la clé.service account key
que vous venez de générer comprend un client_email
. client_email
à avoir un accès en écriture sur ce document.Utilisez le code suivant pour vous authentifier
let jwtClient = new google.auth.JWT(client_email, null, private_key, [ "https://www.googleapis.com/auth/spreadsheets", ]);//authenticate requestjwtClient.authorize(function(err, tokens) { // at this point the authentication is done you can now use `jwtClient` // to read or write to the spreadsheet});
client_email
et private_key
font partie du service account key
Une description plus détaillée peut être trouvée ici. http://isd-soft.com/tech_blog/accessing-google-apis-using-service-account-node-js/ De plus, tout le mérite revient à cette page.
Vous devez être autorisé à faire de telles demandes
Chaque demande que votre application envoie à l'API Google Sheets doit identifiez votre application auprès de Google. Il y a deux façons d'identifier votre application: en utilisant un jeton OAuth 2.0 (qui autorise également la demande ) et/ou en utilisant la clé API de l'application. Voici comment. déterminer laquelle de ces options utiliser:
Si la demande nécessite une autorisation (telle qu'une demande de données privées d'un ), L'application doit alors fournir un OAuth 2.0 jeton avec la demande. L'application peut également fournir la clé API, mais ce n'est pas obligatoire. Si la demande ne nécessite pas autorisation (telle qu'une demande de données publiques), puis le L’application doit fournir la clé d’API, un jeton OAuth 2.0 ou les deux, quelle que soit l'option qui vous convient le mieux.
C'est tout. Il n'y a pas d'autorisation de contournement.
Enfin, creusé assez profondément et trouvé la réponse. Tout type d'écriture, même sur des feuilles publiquement éditables, nécessite un flux OAuth: