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