1

facebook Connect plugin 내 앱에서 Facebook 북 로그인을 사용하려면 phonegap facebook Connect plugin을 사용하고 있습니다. 그러나 페이스 북 이메일은 정의되지 않은 것으로 반환됩니다.facebookConnect 플러그인

내 코드에 뭔가를 추가해야합니까? 인터넷에서이 문제를 조사한 결과 코드가 제대로 작동해야합니다. 전자 메일 주소를 제외한 나머지 모든 항목이 반환됩니다.

당신이

를 도울 수 있다면 여기 내 자바 스크립트 코드입니다 내가 감사하겠습니다 :

facebookConnectPlugin.api('/me?fields=id, email, link, name, picture', ["public_profile"],function(data){ 
     var fb_user_id = data.id; 
     var fb_email = data.email; 
     var fb_name = data.name; 
     var fb_picture_url = data.picture.data.url; 
     var fb_user_link = data.link; 
     alert("fb_email" + fb_email); 
    }); //end api call 

편집 :이 코드와 이메일 주소로 테스트 사용자 계정을 시도

반환나요 . 그러나 이것으로 테스트 한 실제 계정은 작동하지 않습니다. 더 많은 테스트와

내가 그러나이 내가 할 것이었다이 문제에 대한 해결 방법을 찾을 내가 다시 "FACEBOOK_NON_JSON_RESULT"

facebookConnectPlugin.api('/me?fields=id, email, link, name, picture', ["public_profile", "email"],function(data){ 
      var fb_user_id = data.id; 
      var fb_email = data.email; 
      var fb_name = data.name; 
      var fb_picture_url = data.picture.data.url; 
      var fb_user_link = data.link; 
      alert("fb_email" + fb_email); 
     }); //end api call 
+0

범위 권한에'email'을 추가해야 할 수도 있습니다. 모든 입력란을 사용할 수있는 것은 아닙니다. – Searching

+0

@Searching thanks. 실제로 테스트 사용자 계정 및 테스트 페이스 북 앱 (실제 페이스 북 계정 및 실제 앱 대신)으로이 코드를 시도했으며 이메일은 반환됩니다. 그래서 실제 계정으로 발생했습니다. 나는이 새로운 질문을 새로운 발견으로 업데이트 할 것이다. – Sarah

+0

당신이 볼 수 있듯이 @Searching (편집에서) 전자 메일 권한에 추가되었지만 나쁜 데이터가 반환되었습니다 ... 이제는 작동하는 전자 메일 권한으로 별도의 요청을했습니다. 팁 고마워 – Sarah

답변

0

을 언급있어 데이터로 작동하지 않았다 다음과 같이 이메일 권한에 추가하는 시도 두 개의 별도 API 요청 :

facebookConnectPlugin.api('/me?fields=email', ["email"], function(apiResponse) { 

      //alert("api" + JSON.stringify(apiResponse)); 
      fb_email = apiResponse.email; 
      alert("fb_email" +fb_email); //email being retrieved successfully 
      facebookConnectPlugin.api('/me?fields=id, name, link, picture', ["public_profile"],function(data) { 
       alert("data" + JSON.stringify(data)); 

       var fb_user_id = data.id; 
       var fb_name = data.name; 
       var fb_picture_url = data.picture.data.url; 
       var fb_user_link = data.link; 

       alert("fb_user_id" + fb_user_id);   
       alert("fb_name" + fb_name); 
       alert("fb_picture_url" + fb_picture_url); 
       alert("fb_user_link" + fb_user_link); 
       //do stuff with facebook user data here 
      } 

      ,function(error){ 
        //api call failed 
        alert("api call Failed: " + JSON.stringify(error)); 
      }); //end api       
    } 

    ,function(error){  

      alert("email api call Failed: " + JSON.stringify(error)); 
    }); //end api  

완벽하게 작동합니다.