사용자 프로필 API를 사용하면 페이지 범위 ID(PSID)를 통해 Messenger와 상호작용하는 사람의 경험을 맞춤 설정하는 데 활용할 수 있는 사용자 프로필 정보를 가져올 수 있습니다.
사용자 프로필 정보를 가져오려면 비즈니스 자산 사용자 프로필 액세스 기능에 대한 Advanced Access 권한이 있어야 합니다. 일부 필드는 액세스하려면 추가 권한이 필요합니다.
PSID가 유효할 수 있지만 어떤 경우에는 사용자의 프로필 정보를 가져오는 데 사용하지 못할 수도 있습니다. 예를 들어 인스턴트 게임 페이지와 연결된 PSID는 사용자 프로필 API를 통해 액세스할 수 없습니다.
다음 이벤트는 Messenger 봇이 사용자의 프로필 정보에 액세스하도록 승인합니다.
askPermission()
함수를 사용하여 user_profile
권한을 요청합니다.일부 진입점에서는 앱에 사용자의 공개 프로필에 액세스할 권한을 부여하지 않고도 앱이 대화를 시작할 수 있습니다. 이러한 경우 사용자가 첫 메시지에 답장을 보낸 후 해당 사용자의 프로필에 액세스할 권한이 앱에 부여됩니다. 사용자가 앱과 대화를 시작하되, 프로필 권한은 부여하지 않을 만한 주요 상황은 다음과 같습니다.
현재 사용자 프로필 API는 전화번호를 사용하여 만든 Messenger 계정의 프로필 정보를 가져오는 기능을 지원하지 않습니다.
이 경우 API는 '이 사용자의 프로필을 사용할 수 없습니다' 메시지와 함께 오류 코드 2018218
을 반환합니다.
필요한 기능과 권한에 대해 앱 검수 승인을 받은 앱은 이 정보를 공개하고 페이지를 옵트인한 사용자에 대해 다음 필드를 가져올 수 있습니다.
필드 이름 | 설명 | 권한 |
---|---|---|
| 사용자의 PSID | N/A |
| 사용자의 성명 | N/A |
| 이름 | N/A |
| 성 | N/A |
| 프로필 사진 | N/A |
| Facebook에서 사용하는 기본 언어 |
|
| 시간대(GMT를 기준으로 한 숫자) |
|
| 성별 |
|
사용자 프로필 API를 사용하려면 해당 사용자에게 원하는 프로필 필드를 포함하여 GET
요청을 보내세요.
curl -X GET "https://graph.facebook.com/<PSID>?fields=first_name,last_name,profile_pic&access_token=<PAGE_ACCESS_TOKEN>"
앱이 사용자의 프로필에 액세스할 수 있는 경우 사용자 프로필 API는 사용자 프로필에서 요청된 필드와 함께 JSON 문자열을 반환합니다.
{
"first_name": "Peter",
"last_name": "Chang",
"profile_pic": "https://fbcdn-profile-a.akamaihd.net/hprofile-ak-xpf1/v/t1.0-1/p200x200/13055603_10105219398495383_8237637584159975445_n.jpg?oh=1d241d4b6d4dac50eaf9bb73288ea192&oe=57AF5C03&__gda__=1470213755_ab17c8c8e3a0a447fed3f272fa2179ce",
"locale": "en_US",
"timezone": -7,
"gender": "male",
"last_ad_referral": {
"source": "ADS",
"type": "OPEN_THREAD",
"ad_id": "6045246247433"
}
}
앱이 이 사용자의 프로필에 액세스할 수 없는 경우 빈 개체가 반환됩니다.