Facebook API supports choosing nested object's selected fields in the response in following manner:
GET graph.facebook.com
/me?
fields=albums{name, photos{name, picture}}
Reference: https://developers.facebook.com/docs/graph-api/using-graph-api#reading - Section: Making Nested Requests
When using Koala Ruby Gem to send request to Facebook API what is the syntax for specifying nested fields?
On this wiki page https://github.com/arsduo/koala/wiki/Graph-API#getting-public-data following example is given:
client = Koala::Facebook::API.new(oauth_token)
client.get_connection('someuser', 'posts',
{limit: @options[:max_items],
fields: ['message', 'id', 'from', 'type',
'picture', 'link', 'created_time', 'updated_time'
]})
So to add the fields supported by a Facebook API end-point we pass in a hash containing fields
as the key and an array of supported fields name like ['message', 'id', 'from']
.
If any of the field represents a object which has its own properties, like in case of a Page's Rating endpoint which returns a list of OpenGraphRating nodes and an OpenGraphRating object has following property open_graph_story
which is an object, then how do we specify nested properties when using Koala's fields
syntax?
When using the endpoint directly it goes like:
page-id/ratings?fields=created_time,has_rating,has_review,open_graph_story{id},rating,review_text,reviewer