[CodeIgniterでビルドされた]プロジェクトでGoogle Plusボタンを使用しました。ここでは、次のコードを追加しました。Google PlusボタンをクリックしたときにGoogle Plusコールバック関数を呼びたい
<span id="signinButton">
<span
class="g-signin gooConnect"
data-callback="signinCallback"
data-clientid="my_project_client_id"
data-cookiepolicy="single_host_origin"
data-requestvisibleactions="http://schemas.google.com/AddActivity"
data-scope="https://www.googleapis.com/auth/userinfo.email">
</span>
</span>
次にGoogleが提供するJavascriptコードを追加しました。
<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['access_token']) {
$.ajax({
url:base_url+'index.php/user/getUserProfile',
type:'POST',
data:{'access':authResult['access_token']},
beforeSend : function(){
$("#loadingImageBeforeResult").show('slow');
},
success : function(resp){
$("#loadingImageBeforeResult").hide('slow');
if(resp == 'exist'){
window.location.href=base_url+'index.php/user/my_deals';
} else {
$('#link_for_geniepage').trigger('click');
}
},
error : function(resp){}
});
} else if (authResult['error']) {
// There was an error.
// Possible error codes:
// "access_denied" - User denied access to your app
// "immediate_failed" - Could not automatially log in the user
// console.log('There was an error: ' + authResult['error']);
}
}
</script>
それは私のために正常に動作していますが、私はその後、別のタブでGmailアカウントにログインしている場合、私は私のGmailの資格情報を使用して、私のログインページ、コールバック関数にだけ自動ログインを行って、自分のダッシュボードに私をリダイレクトします。
私はそのGoogle Plusボタンをクリックしない限り、コールバック機能は動作しません。これどうやってするの?私を助けてください。
サインインボタンをクリックしているように聞こえますが、サインインすると古いタブに戻りますが、同じタブでレンダリングしますか? –
@ aritra-chakraborty私はPHPとの関係は見ないので、私はあなたの質問にタグを付けました。 – SteAp
ok ...ありがとう@SteAp ...どうすればいいか教えてください。 – ABorty