Ek izinler isteme

Kullanıcı verilerine veya diğer kaynaklara erişmek için kullanıcı izni istediğinizde, tüm kapsamları ilk istekte önceden isteyebilir veya artan yetkilendirme özelliğini kullanarak kapsamları yalnızca gerektiğinde isteyebilirsiniz. Uygulamanız, artımlı yetkilendirmeyi kullanarak başlangıçta yalnızca kapsamları ister. uygulamanızı başlatmak için gerekenden sonra, yeni izin olarak ek kapsamlar istiyor bu bilgilerin, belirtir.

Örneğin, uygulamanızın kullanıcıların müzik oynatma listelerini kaydetmelerine izin verdiğini varsayalım Google Drive'a; Uygulamanız, oturum açma sırasında temel kullanıcı bilgilerini isteyebilir. Ardından kullanıcı ilk oynatma listesini kaydetmeye hazır olduğunda yalnızca Google Drive izinlerini iste.

Kullanıcıların kullanıcı rızası ekranı bunaltıcı oluyor ya da neden sorulduğu konusunda kafa karışıklığı yaşıyor seçeneğini tıklayın. Aşağıdaki talimatlar web içindir ve istemci tarafı oturum açma düğmesi ekleme talimatları: Google 2.0 Oturum Açma düğmesi oluşturma. Web için artımlı yetkilendirme hakkında daha fazla bilgiyi OAuth 2.0 belgelerinde bulabilirsiniz.

Ek kapsamlar isteme

Oturum açma sırasında uygulamanız "base" isteğinde bulunur ve oturum açma kapsamından oluşan profile ve uygulamanızın çalışması için gereken diğer başlangıç kapsamları. Daha sonra kullanıcı ek bir işlem gerektiren bir işlem yapmak istediğinde kapsamları seçerseniz uygulamanız bu ek kapsamları ister ve kullanıcı yalnızca izin ekranından yeni kapsamları görebilirsiniz.

1. Adım: İstek tabanı kapsamları

Google ile Oturum Açma'yı başlattığınızda temel kapsamı profile isteyin. Bu adımı, Google 2.0 Oturum Açma düğmesi oluşturma.

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

2. Adım: Ek kapsamlar isteyin

Ek kapsamların gerektiği her yerde, bir seçenekler oluşturarak bunları isteyin. oluşturucuyu eklemek ve ardından user.grant({scope: [OPTIONS BUILDER]}).then(successFunction, failFunction); çağrısını yapmak için aşağıdaki adımları uygulayın:

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}));
    });