내 코드에 버그가 있습니다. 로그인하여 사용자 정보를 검색 할 수 있습니다. 그러나 signinCallback
이 다시 호출됩니다 (나는 방법을 모른다). 그리고 이전에 사라진 사용자 정보를 보여줍니다! 여기 HTML 측이다Google+ signin 콜백이 두 번 호출되어 프로세스에서 authresult가 손실됩니다.
<span id="signinButton">
<span
class="g-signin"
data-callback="signinCallback"
data-clientid="CLIENT_ID"
data-cookiepolicy="single_host_origin"
data-requestvisibleactions="http://schemas.google.com/AddActivity"
data-scope="https://www.googleapis.com/auth/plus.profile.emails.read"
data-width="standard"
data-height="short">
</span>
</span>
여기 자바 스크립트 측이다
var AuthStates = {
google: null
};
function signinCallback(authResult) {
console.dir(authResult);
console.log('Sign-in state: ' + authResult['error']+authResult['access_token']);
AuthStates.google = authResult;
console.log('signinCallback');
chooseAuthProvider();
}
function chooseAuthProvider() {
if (AuthStates.google && AuthStates.facebook) {
if (AuthStates.google['access_token']) {
// Signed in with Google, you can now use Google+ APIs.
console.log(AuthStates.google);
gapi.client.load('plus','v1', function(){
var request = gapi.client.plus.people.get({
'userId': 'me'
});
request.execute(function(resp) {
document.getElementById('cname').value =resp.displayName;
document.getElementById('cemail').value =resp.emails[0].value;
console.log('Retrieved profile for:' + resp.displayName + ' ' + resp.emails[0].value);
});
});
}
}
그것은 제 signinCallback
Sign-in state: user_signed_outundefined
signinCallback
. [여기] (http://stackoverflow.com/questions/24056169/google-signincallback-called-twice-when-user-is-signed-out)과 비슷한 문제가 있습니다. [Google + Dev Community] (https://plus.google.com/comm unities/113527920160449995981). signInCallback이 호출 된 직후에'console.dir (authResult)'가 출력하는 것을 캡쳐 해 주시겠습니까? 특히 두 호출 모두에서'authResult [ 'status'] [ 'method']'의 값은 무엇입니까? –
authResult [ 'status'] [ 'method'] = null – user3528581
글쎄, 우리는 똑같은 문제가있다. 여러 Google 계정을 사용하고 있습니까? –