Программно различать страницы и профили Facebook

Я пишу приложение, которое требует от меня определить, показываю ли я кнопку "как" fb или нет. В профилях fb нет "симпатий", но страниц. любые рекомендации о том, как я могу программно различать профиль fb и страницу fb? единственный вход, который я получаю от пользователя, - это URL профиля/страницы fb, и на основе этого мне нужно определить, будет ли его страница или профиль, а затем отображать подобную кнопку.

спасибо,

2 ответа

Да, вы можете посмотреть на атрибут type возвращаемого JSON. Например, взгляните на фактические, отредактированные ответы API Graph, которые я получаю для пользователя и страницы:

//This is JSON for a user
//Call to https://graph.facebook.com/123456789
{
 "id": "123456789", 
 "name": "Sean Hill", 
 "first_name": "Sean", 
 "last_name": "Hill",
 //more attributes
 "type": "user" // <--- This one
}

против

//This is JSON for a page
//Call to https://graph.facebook.com/thesolusean
{
 "id": "323796444951", 
 "name": "Solusean", 
 "picture": "https://fbcdn-profile-a.akamaihd.net/hprofile-ak-snc4/50290_323796444951_3601170_s.jpg", 
 "link": "https://www.facebook.com/thesolusean", 
 "likes": 28,
 // more attributes
 "type": "page" // <---- This one
}

Не зная, какой язык программирования вы используете, это лучший ответ, который я могу дать.


Пока кажется, что единственный быстрый способ узнать, является ли данный профиль страницей или фактическим пользователем, просмотрев атрибут категории. Если этот атрибут присутствует, то его страница в противном случае может быть пользователем. В справочных документах FB нет четких указаний (см. Https://developers.facebook.com/docs/graph-api/reference/profile). В дополнение к большинству API, которые возвращают профиль как часть другого ответа, только частичная информация об идентификаторе, имени и категории:

"from": {
 "category": "Magazine", 
 "name": "Astronomy Magazine", 
 "id": "108218329601"
 },

Примечание: меня смущает ответ @Sean Hill. В объектах профиля нет атрибута типа.

licensed under cc by-sa 3.0 with attribution.