我有一个应用程序要上传到Google Marketplace。该应用程序使用Google +登录按钮接收用户的电子邮件。问题是,在域管理员安装应用程序后,用户仍然会看到授权屏幕(说明:此应用程序希望:1。 - 知道您是谁2.-查看您的电子邮件地址)和市场人士告诉我们这不正确,用户只需点击按钮即可获得许可。
这是我正在使用的代码:
<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>
管理员是否在域中安装了应用程序后,您能告诉我如何才能向用户显示授权屏幕吗?
由于
答案 0 :(得分:0)
我正在研究类似的问题。当域管理员安装您的应用程序时,他们会看到初始授权屏幕并接受。管理员同意应授予您访问指定范围的权利。因此,管理员安装该应用程序的用户不应该看到授权提示,因为他们的管理员已经同意了。
此过程称为域范围的委派。它最近发生了变化。看到我的问题&amp;在这里回答https://stackoverflow.com/a/22134464/37759
更新 Google App用户可以通过Google universal navigation bar或直接从您的网站登录您的应用。当用户直接从您的网站登录时,您需要向他们提供Sign-in With Google Apps button。