您好我正在使用google api登录我的网络应用程序。现在它的工作正常。但问题是当我进入登录页面时,sigin会自动启动。但我不希望这样。我希望用户先点击登录按钮然后开始流程。
我正在使用下面的按钮
<div class="g-signin2" data-onsuccess="onSignIn"></div>
和google log in引用。
答案 0 :(得分:5)
使用“ attachClickHandler”启动Google登录。
<script src="https://apis.google.com/js/client:platform.js?onload=init" async defer></script>
<script>
function init() {
gapi.load('auth2', function() {
auth2 = gapi.auth2.init({
client_id: '*************.apps.googleusercontent.com',
cookiepolicy: 'single_host_origin',
scope: 'profile email'
});
element = document.getElementById('glogin');
auth2.attachClickHandler(element, {}, onSignUp, onFailure);
});
}
function onSignUp(googleUser) {
var profile = googleUser.getBasicProfile();
}
</script>
答案 1 :(得分:1)
最好的方法是使用Java Script登录谷歌,我发现了。
使用
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.js?onload=onLoadCallback';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);
})();
</script>
初始化js。最后调用以下方法登录用户
function login()
{
var myParams = {
'clientid' : 'YOUR_CLIENT_ID.apps.googleusercontent.com', //You need to set client id
'cookiepolicy' : 'single_host_origin',
'callback' : 'loginCallback', //callback function
'approvalprompt':'force',
'scope' : 'https://www.googleapis.com/auth/plus.login https://www.googleapis.com/auth/plus.profile.emails.read'
};
gapi.auth.signIn(myParams);
}
通过使用这个我能够解决这个问题。现在用户需要点击登录才能登录