我有我要上傳到谷歌市場的應用程序。該應用程序使用Google +登錄按鈕接收用戶的電子郵件。問題是,在域的管理員安裝應用程序之後,用戶仍然會看到授權屏幕(該應用程序想要:1.-知道您是誰2.-查看您的電子郵件地址)和市場人士告訴我們這是不正確的,用戶只需要點擊按鈕而不需要獲得許可。谷歌+登錄按鈕autorization屏幕
這是我使用的代碼:
<script type="text/javascript">
(function() {
var po = document.createElement('script');
po.type = 'text/javascript';
po.async = true;
po.src = 'https://apis.google.com/js/client:plusone.js';
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(po, s);
})();
function signinCallback(authResult) {
if (authResult['status']['signed_in']) {
console.log(authResult);
gapi.client.load('oauth2', 'v2', function() {
gapi.client.oauth2.userinfo.get().execute(function(resp) {
console.log(resp.email);
document.getElementById('email').value = resp.email;
document.getElementsByClassName('popupEspera')[0].style.display='block';
envia();
})
});
document.getElementById('signinButton').setAttribute('style',
'display: none');
} else {
console.log('Sign-in state: ' + authResult['error']);
}
}
</script>
<table width="95%">
<tr>
<td align="right"><span id="signinButton"> <span
class="g-signin" data-callback="signinCallback"
data-clientid="CLIENT_ID"
data-cookiepolicy="single_host_origin"
data-scope="https://www.googleapis.com/auth/userinfo.email">
</span>
</span></td>
</tr>
</table>
你能告訴我怎樣才能使它不顯示授權屏幕給用戶一旦管理員已安裝在域中的應用程序?
謝謝
我用這個來獲得不同範圍的授權,但我需要一種方法來知道正在使用該應用程序的用戶的電子郵件。我正在使用Google App Engine,因此我嘗試了UserService,但Google告訴我,我們無法使用它。因此,我使用此Google +登錄按鈕來獲取電子郵件並能夠使用域範圍的委派。如果我使用「https://www.googleapis.com/auth/userinfo.email」作用域的域名威爾德代表團,則應用程序會收到服務帳戶電子郵件的電子郵件,而不是用戶的電子郵件。有沒有其他的方式來獲得電子郵件? – user1930068
也許使用Directory API來檢索用戶信息? https://developers.google.com/admin-sdk/directory/v1/guides/manage-users#get_user –
目錄API檢索所有的用戶列表中,但無法知道哪一個用戶正在使用的應用程序在這一刻;所以這不是一個有效的解決方案 – user1930068