4

나는 phonegap facebook plugin과 facebook javascript api를 사용하고 있습니다. 여기에 내 코드facebook에서 userID를 얻을 수 없습니다. javascript login api

FB.init({ 
    appId: "xxxxxxxxxxxxxxx", 
    status: true, 
    oauth :true, 
    nativeInterface: CDV.FB, 
    //channelURL : 'www', // Channel File 
    cookie: true, 
    //useCachedDialogs: false, 
    xfbml: true 
}); 

FB.login(function(response) { 
    if (response.authResponse) { 
     alert(response.authResponse.userID); // literally shows three dots 
     FB.api('/me', function(me){ 
      if (me.id) { 
       alert(me.id); // this works 
      } 
     }); 
    } 
}, { scope: "email" }); 

내가 authResponse에서 accessToken을 얻을 수 있습니다 .... 그 긴 문자열입니다. 그러나 userID 필드는 말 그대로 "..."입니다. /me을 가져 오기 위해 다른 그래프 API 호출을 사용하여 서버로 추가 왕복을하면서 사용자 ID를 얻을 수 있지만 낭비입니다.

+0

나는 똑같은 것을보고있다. oauth 토큰은 콜백에서 유효하지만 userID 필드는 문자 그대로 "..."입니다. – Leopd

+0

은 "response.authResponse.userID"문으로 사용자 ID를 가져 오지 못하고 있습니까? – MSUH

+1

질문이 명확하지 않고 동일한 문제가 있다고 생각하므로 정확한 문제에 대한 질문을 명확히 할 것입니다. – Leopd

답변

6

[OP 혜택을 위해] 표시하기 시작한대로 서버를 추가로 호출하여 클라이언트에서 userID를 가져올 수 있습니다. 여기에 올바른 코드는 다음과 같습니다 사용자 아이디 필드는 로그인 응답 객체에 "..." 이유는 설명하지 않습니다

FB.api('/me', function(me){ 
     if (me.id) { 
      var facebook_userid = me.id; 
      alert(facebook_userid); 
     } 
    }); 

. 하지만 이는 해결 방법입니다.

+0

어떻게 이것을 html 페이지에서 사용할 수 있습니까? 너 나 좀 도와 줄 수있어? –

+0

이 나를 위해 일했습니다 ... –

1

github (https://github.com/davejohnson/phonegap-plugin-facebook-connect/issues/151)에 버그를 게시했습니다. 플러그인의 "기능"으로 보입니다. 문제가 페이스 북 IOS sdk (FB에서 해당 데이터를 다시 전달하지 않음) 또는 플러그인 (JS 수준에서 다시 해당 데이터를 전달하지 않음)에 있는지 여부는 확실하지 않습니다.

+0

최근에 그들은 github 프로젝트를 옮겼습니다. 모든 문제는 사라졌습니다. – mainsocial

관련 문제