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.