2012-06-10 3 views
5

저는 Facebook에 로그인하여 사용자의 전자 메일 주소를 가져 와서 내 사이트에 등록 할 때 Facebook Graph API와 함께 연결합니다. 이것은 99 % 이상 완벽하게 작동하지만 이메일 권한을 포함하여 내 사이트 사용 권한을 부여한 후 Graph API에 사용자 데이터를 쿼리 할 때 Facebook은 해당 사용자의 이메일 주소로 큰 숫자 (예 : 14036774009)를 반환합니다.Facebook 그래프 API가 전자 메일 주소 대신 숫자를 반환합니다.

숫자는 항상 다르며 항상 11 자리이며 Graph API의 다른 모든 사용자 데이터가 유효합니다. 필자는 내가 통제하는 Facebook 계정으로이 문제를 재현 할 수 없었습니다.

어떤면에서 큰 숫자는 타사 응용 프로그램에 기본 주소 대신 전달 주소를 제공하려는 사람들을 위해 Facebook에서 생성하는 임의의 프록시 이메일 주소를 생각 나게합니다 (프록시 주소는 다음과 유사합니다 : apps + [email protected]mail.facebook.com)

누구든지이 동작이나 문제를 해결할 방법을 설명 할 수 있으며 항상 유효한 이메일 주소를 얻을 수 있습니까?

답변

2

이것은 버그입니다. 이미 페이스 북에보고되었습니다 그래프 탐색기를 사용하는 경우 그것은 심지어 일어나고있는 것 같다

https://developers.facebook.com/bugs/298946933534016

-하지만 일부 사용자, https://developers.facebook.com/tools/explorer을. 제 경우에는 약 0.2 %입니다. 페이스 북이 당신에게 나쁜 이메일 가치를 제공하는 경우

  • , 수동으로 그/그녀의 이메일 사용자에게 물어

    그래서가 해결 될 때까지 당신은 두 가지 옵션이 있습니다.

  • 긴 수명 액세스 토큰을 저장하고 정기적으로 다시 시도하여 올바른 전자 메일이 되돌아 왔는지 확인하십시오.
0

그래도 이전 인증 대화 상자를 사용하고 계십니까? 프록시 이메일 주소를 제공하는 기능은 이전 인증 대화 상자에만 있습니다.

+0

다음은 로그인을 시작하기 위해 FB JS SDK를 초기화하고 호출하는 방법입니다. 몇 달 전에 OAuth 로그인 기반 시스템을 지원하기 위해이 내용을 업데이트했습니다. FB.init ({appId : '...', 상태 : false, 쿠키 : true, oauth : true, xfbml : false, channelUrl : "..."})); FB.login (function (response) {...}, {scope : 'email'}); – scyclops

0

이것은 휴대 전화 번호로 페이스 북에 가입하는 사람에게 발생하며 반환되는 번호는 바로 그 숫자입니다.

사용자가 아직 페이스 북에 제공하지 않았기 때문에 사용자의 이메일 주소를받을 수있는 옵션이 없습니다.

관련 문제