Zusätzliche Berechtigungen anfordern

<ph type="x-smartling-placeholder">

Wenn Sie die Nutzerberechtigung zum Zugriff auf Nutzerdaten oder andere Ressourcen enthalten, können Sie alle Bereiche im Voraus in der ersten Anfrage oder Anfragebereiche nur bei Bedarf mit inkrementeller Autorisierung anfordern. Bei Verwendung der inkrementellen Autorisierung fordert Ihre Anwendung anfangs nur die Bereiche an erforderlich, um Ihre Anwendung zu starten, und fordert dann zusätzliche Bereiche als neue Berechtigungen an in einem Kontext, der den Grund für die Anfrage an den Nutzer.

Angenommen, Ihre App ermöglicht es Nutzern, Musikplaylists zu speichern auf Google Drive, kann Ihre App bei der Anmeldung grundlegende Nutzerinformationen anfordern, Wenn der Nutzer seine erste Playlist speichern möchte, nur Google Drive-Berechtigungen anfordern.

Verwenden Sie diese Technik, wenn Sie vermuten, dass sich Nutzer nicht anmelden, der Zustimmungsbildschirm überladen ist oder nicht wissen, warum er gefragt wird für bestimmte Berechtigungen. Die folgenden Anweisungen gelten für das Web und basieren auf den Anleitung zum Hinzufügen einer clientseitigen Anmeldeschaltfläche: Google 2.0-Anmeldeschaltfläche erstellen Weitere Informationen zur inkrementellen Autorisierung für das Web finden Sie in der OAuth 2.0-Dokumentation

Zusätzliche Bereiche anfordern

Bei der Anmeldung fordert Ihre App „base“ an Bereiche, bestehend aus dem Anmeldebereich profile und alle anderen anfänglichen Bereiche, die Ihre Anwendung für den Betrieb benötigt. Später, wenn der Nutzer eine Aktion ausführen möchte, die zusätzliche Bereiche angefordert, fordert Ihre App diese zusätzlichen Bereiche an und der Nutzer autorisiert nur von einem Zustimmungsbildschirm aus.

Schritt 1: Basisbereiche anfordern

Fordern Sie den Basisbereich profile an, wenn Sie Google Log-in initialisieren. Dieses Schritt ist in Google 2.0-Anmeldeschaltfläche erstellen

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

Schritt 2: Zusätzliche Bereiche anfordern

Wenn zusätzliche Bereiche benötigt werden, fordern Sie diese durch Erstellen einer Option an. mit den Bereichen, die Sie hinzufügen möchten, und rufen Sie dann user.grant({scope: [OPTIONS BUILDER]}).then(successFunction, failFunction); auf:

const options = new gapi.auth2.SigninOptionsBuilder();
options.setScope('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}));
    });