Определение того, какие поля и соединения возвращаются в запросе FB.api - PullRequest
0 голосов
/ 21 марта 2012

Когда я запрашиваю Facebook через FB.api со следующим:

me/events

Массив событий JSON в возвращенном объекте JSON содержит информацию для полей «имя», «start_tile», «конец_ времени»,"location", "id" и "rsvp_status".Я знаю, что могу получить информацию о дополнительных полях и соединениях (таких как соединение "picture" или поле "owner"), проанализировав поле "id" и запросив отдельное событие напрямую, но есть ли способ запросить эту информацию вначальный запрос, чтобы я мог избежать дополнительных вызовов FB.api?

{
  "name": "Example Name", 
  "start_time": "2012-05-04T22:00:00", 
  "end_time": "2012-05-05T01:00:00", 
  "location": "Example Location", 
  "id": "xxxxxxxxxxxx", 
  "rsvp_status": "attending"
}

1 Ответ

0 голосов
/ 21 марта 2012

С https://developers.facebook.com/docs/reference/api/

Самоанализ

Graph API поддерживает самоанализ объектов, что позволяет вам увидеть все соединения объекта, не зная его типа досрочно. Чтобы получить эту информацию, добавьте metadata = 1 к объекту URL, и полученный JSON будет включать свойство метаданных, которое перечисляет все поддерживаемые соединения для данного объекта. Например, Вы можете увидеть все соединения для мероприятия Developer Garage выше выбирая https://graph.facebook.com/331218348435?metadata=1. Это выходы:

{
   "name": "Facebook Developer Garage Austin - SXSW Edition",
   "metadata": {
      "connections": {
         "feed": "https://graph.facebook.com/331218348435/feed",
         "picture": "https://graph.facebook.com/331218348435/picture",
         "invited": "https://graph.facebook.com/331218348435/invited",
         "attending": "https://graph.facebook.com/331218348435/attending",
         "maybe": "https://graph.facebook.com/331218348435/maybe",
         "noreply": "https://graph.facebook.com/331218348435/noreply",
         "declined": "https://graph.facebook.com/331218348435/declined"
      }
   }
}
...