2017-05-30 68 views
1

我已經通過https://developers.google.com/identity/sign-in/web/incremental-auth集成了Google登錄網站。 用戶使用下面的測試代碼登錄後,調用addScope()會在請求附加範圍時觸發選擇帳戶。如何跳過「選擇帳戶」並使用當前登錄的用戶帳戶?我嘗試添加字段'user_id'和'login_hint'給grant()配置對象,但沒有成功。如何在請求額外範圍時跳過Google登錄時彈出的選擇帳戶

<script src="https://apis.google.com/js/platform.js"></script> 
<div class="g-signin2" data-onsuccess="onSignIn" data-theme="dark"></div> 


function initClient() { 
    gapi.load('auth2', function() { 
     gapi.auth2.init({ 
      client_id: 'CLIENT_ID.apps.googleusercontent.com', 
      fetch_basic_profile: true 
     }); 
    }); 
}; 

function onSignIn(googleUser) { 
    var profile = googleUser.getBasicProfile(); 
    console.log("ID: " + profile.getId()); 
    console.log("Email: " + profile.getEmail()); 

    addScope(); 
} 

function addScope() { 
    var options = new gapi.auth2.SigninOptionsBuilder({ 'scope': 'email https://www.googleapis.com/auth/calendar https://www.googleapis.com/auth/contacts.readonly' }); 
    var auth2 = gapi.auth2.getAuthInstance(); 
    var 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 })); 
     }); 
} 

initClient(); 

回答

相關問題