Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google apps marketplace 谷歌+;登录按钮自动化屏幕_Google Apps Marketplace - Fatal编程技术网

Google apps marketplace 谷歌+;登录按钮自动化屏幕

Google apps marketplace 谷歌+;登录按钮自动化屏幕,google-apps-marketplace,Google Apps Marketplace,我有一个应用程序,我想上传到谷歌市场。应用程序使用Google+登录按钮接收用户的电子邮件。问题是,在域管理员安装应用程序后,用户仍然会看到授权屏幕(上面写着:此应用程序希望:1.-知道你是谁2.-查看你的电子邮件地址),而市场人员告诉我们这是不正确的,用户只需点击按钮,不需要请求权限 这是我正在使用的代码: <script type="text/javascript"> (function() { var po = document.createElemen

我有一个应用程序,我想上传到谷歌市场。应用程序使用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>

(功能(){
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);
})();
函数signinCallback(authResult){
如果(authResult['status']['signed_in']){
console.log(authResult);
load('oauth2','v2',function(){
gapi.client.oauth2.userinfo.get().execute(函数(resp){
控制台日志(分别为电子邮件);
document.getElementById('email')。value=resp.email;
document.getElementsByClassName('popupEspera')[0].style.display='block';
envia();
})
});
document.getElementById('signinButton').setAttribute('style',
“显示:无”);
}否则{
log('登录状态:'+authResult['error']);
}
}
如果管理员在域中安装了应用程序后,不向用户显示授权屏幕,您能告诉我该怎么做吗


谢谢

我正在研究类似的问题。当域管理员安装您的应用程序时,他们会看到初始授权屏幕并接受。管理员的同意应授予您访问指定范围的权限。因此,由管理员安装该应用的用户不应看到授权提示,因为他们的管理员已经同意

该过程称为域范围的委派。最近发生了变化。在这里查看我的问题和答案


更新谷歌应用程序用户可以通过或直接从您的网站登录到您的应用程序。当用户直接从您的网站登录时,您需要向他们提供

我使用它来获得不同范围的授权,但我需要一种方法来了解使用该应用程序的用户的电子邮件。我正在使用谷歌应用引擎,所以我尝试了用户服务,但谷歌告诉我我们不能使用它。因此,我使用这个Google+登录按钮来获取电子邮件,并能够使用域范围的授权。如果我在“”范围内使用domain wilde delegation,应用程序将以电子邮件的形式接收服务帐户电子邮件,而不是用户的电子邮件。是否有其他方式获取电子邮件?可能使用目录API检索用户信息?目录API检索所有用户列表,但无法知道此时哪个用户正在使用应用程序;所以这不是一个有效的解决方案,很有趣。如果用户已登录,您是否应该在某个地方提供他们的google id?不,因为当用户进入应用程序时,并没有在google上登录;Google+登录按钮提供了登录功能,也给我在市场上发布应用程序带来了问题