0

Wie kann ich 2 Google APIs gleichzeitig verwenden? Ich habe beide Client-IDs, aber ich kann anscheinend nicht in der Lage sein, mein Skript zu bekommen, um um Erlaubnis für beide Apis zu bitten.Wie kann ich mehrere Kunden-IDs in Google API haben?

Was muss ich in der Var-Client-ID oder etwas anderem ändern, damit 2 APIs gleichzeitig funktionieren? Dies ist, was ich versucht habe:

var CLIENT_ID = ['client ID 1', 'Client ID 2'] ; 

var CLIENT_ID = 'client ID 1', 'Client ID 2' ; 

var CLIENT_ID = 'client ID 1, Client ID 2' ; 

Auch was muss ich über diese Funktion ändern:

function initClient() { 
gapi.client.init({ 
discoveryDocs: DISCOVERY_DOCS, 
clientId:CLIENT_ID, 
scope: SCOPES 

I Drive API und Google Mail-API zur gleichen Zeit in der gleichen zu verwenden, versuche Skript, wie ist das möglich?

+0

Bitte geben Sie weitere Details zum Beispiel, welche 2 Apis Sie verwenden müssen. – codemirror

+0

Google Mail API und Drive API – Pig

+0

@codemirror also gibt es sowieso beide ClientIDs zu verwenden? – Pig

Antwort

0

Um mehrere Google APIs mit einer einzigen Client-ID aufzurufen, fügen Sie einfach den für Ihre Apps erforderlichen Bereich hinzu.

Initial Scope:

auth2 = gapi.auth2.init({ 
    client_id: 'CLIENT_ID.apps.googleusercontent.com', 
    cookiepolicy: 'single_host_origin', /** Default value **/ 
    scope: 'profile' }); /** Base scope **/ 

Anfrage für weitere Bereiche:

var options = new gapi.auth2.SigninOptionsBuilder(
     {'scope': 'email https://www.googleapis.com/auth/drive'}); 

googleUser = auth2.currentUser.get(); 
googleUser.grant(options).then(
    function(success){ 
     console.log(JSON.stringify({message: "success", value: success})); 
    }, 
    function(fail){ 
     alert(JSON.stringify({message: "fail", value: fail})); 
    }); 

Als in den document angegeben, es ist in der Regel ein Best-Practice-Bereiche schrittweise zu beantragen, zum Zeitpunkt Zugriff erforderlich ist, eher als vorne. Zum Beispiel sollte eine App, die Käufe unterstützen möchte, den Zugriff auf Google Wallet nicht anfordern, bis der Nutzer auf die Schaltfläche "Kaufen" klickt. siehe Incremental authorization. Sie müssen nicht mehrere Client-IDs erstellen, damit eine Anwendung auf mehrere Google APIs zugreifen kann.

In Ihrem Fall wäre Ihr anfänglicher Geltungsbereich einer der beiden, dann die Anforderung eines zusätzlichen Bereichs, sobald der Benutzer auf die Methode der API zugreift. Überprüfen Sie auch OAuth 2.0 Playground, um zu sehen, wie der Bereich funktioniert.

Verwandte Themen