2017-12-20 25 views
0

예상 반환하지 않습니다. 그러나, 나는 진짜로 이름과 성을 별도로 필요로한다. 방금 displayName이라는 속성을 하나의 문자열에 이름과 성을 모두 가지고 있습니다.페이스 북 - 로그인은 데이터

항상 작동하지 않기 때문에 문자열의 첫 번째 공백으로 분할하는 것과 같은 해커 같은 일을하고 싶지 않습니다. 사용자가 중간 이름을 가질 수 있습니까?

페이스 북은 the official docs에 따라 first_name & last_name이라는 필드를 반환하도록 지정했습니다.

누구나 안정적으로 사용자 이름과 성을 가져올 수 있습니다.

감사합니다.

+0

을,하지만 난'.logInWithReadPermissions를 지정 생각 ([ 'public_profile'])' 기본적으로 그 값들을 돌려 주겠습니까? –

+0

나는 그것을 명확하게하기 위해 답을 만들었습니다. 기본적으로 id 및 displayName과 같은 기본값 만 가져옵니다. 더 많은 필드가 필요하면 별도의 API 요청으로 필드를 요청해야합니다. – luschn

답변

1

원하는 필드를 물어 보거나 기본값 필드 만 가져올 수 있습니다. 예를 들어,이 API 호출로 FIRST_NAME과 LAST_NAME 필드를 얻을 수 있습니다 :이 하나에 조금 느린입니다 경우 죄송합니다 @luschn

const infoRequest = new GraphRequest('/me', { 
    parameters: { 
     fields: { 
      string: 'first_name,last_name' 
     } 
    } 
}, (error, result) => { 
    if (error) { 
     console.log('Error fetching data: ' + error.toString()); 
    } else { 
     console.log('Success fetching data: ' + result.toString()); 
    } 
}); 
new GraphRequestManager().addRequest(infoRequest).start(); 
+0

감사합니다! 나는 당신이 새로운 요청을해야한다는 것을 왜 이해하지 못했는지 알지 못합니다. –