javascript - na inicializáciu OAuth musia byť poskytnuté oba parametre client_id a scope
Pracujem s rýchlym štartom Google Sheets API v JavaScripte a narazil som na problém s autentifikáciou pri gapi.client.init().
Tu je kód, ktorý mi spôsobuje problémy:
// Client ID and API key from the Developer Console
var CLIENT_ID = "50m3-cle3nt-1d.apps.googleusercontent.com";
var API_KEY = "AIzaN0tRe4lLyAn4pIk5y";
// Array of API discovery doc URLs for APIs used by the quickstart
var DISCOVERY_DOCS = ["https://sheets.googleapis.com/$discovery/rest?version=v4"];
// Authorization scopes required by the API; multiple scopes can be
// included, separated by spaces.
var SCOPES = "https://www.googleapis.com/auth/spreadsheets.readonly";
function initClient() {
gapi.client.init({
apiKey: API_KEY,
discoveryDocs: DISCOVERY_DOCS,
clientId: CLIENT_ID,
scope: SCOPES
}).then(function() {
// doesn't matter.
})
}
Nemôžem rozbehnúť volanie init() a dostávam chybu ako v názve otázky, aj keď sa pokúsim zavolať init() samostatne v konzole:
> k = gapi.client.init({ ... })
client_id and scope must both be provided to initialize OAuth
Čo mi chýba v volaní init()?
Akékoľvek rady by boli ocenené.
Odpoveď č. 1
Taktiež som čelil rovnakému problému. Vo funkcii initClient som nahradil gapi.client.init za gapi.auth2.init a fungovalo to.