Eu criei o Google Spreadsheet e dei acesso de edição a todos (posso editar mesmo sem login).
Aqui está o link . Gostaria de atualizar esta planilha com a API do Google Spreadsheet. Mas estou recebendo erro. Minha exigência é atualizar a planilha através da API mesmo sem credencial de acesso.
É possível gravar em planilha eletrônica sem OAuth
ou API Keys
. Você precisa usar Service Account Keys
.
Aqui está o que eu fiz para o meu ambiente Node.js.
Furnish a new private key
JSON
quando ele perguntar como baixar a chave.service account key
que você acabou de gerar inclui um client_email
. client_email
tenha acesso de gravação neste documentoUse o seguinte código para autenticar
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
e private_key
são parte do service account key
Uma descrição mais detalhada pode ser encontrada aqui. http://isd-soft.com/tech_blog/accessing-google-apis-using-service-account-node-js/ Além disso, todo o crédito vai para esta página.
Você precisa ser autorizado a fazer tais solicitações
Cada solicitação que seu aplicativo envia à Google Sheets API precisa Identificar seu aplicativo para o Google. Há duas maneiras de identificar Seu aplicativo: usando um token OAuth 2.0 (que também autoriza a solicitação ) E/ou usando a chave de API do aplicativo. Veja como Determinar quais dessas opções usar:
Se a solicitação exigir autorização (como uma solicitação de dados privados de um indivíduo ), O aplicativo deverá fornecer um token OAuth 2.0 com a solicitação. O aplicativo também pode fornecer a chave da API, mas não é necessário. Se a solicitação não exigir autorização (Como uma solicitação de dados públicos), o aplicativo Deverá fornecer a chave da API ou um token OAuth 2.0 ou Ambos - Qualquer que seja a opção mais conveniente para você.
É isso aí. Não há autorização de exclusão.
Finalmente cavou fundo o suficiente e encontrou a resposta. Qualquer tipo de escrita, mesmo para folhas publicamente editáveis, requer um fluxo OAuth: