Facebook API支持以下列方式在响应中选择嵌套对象的选定字段:
GET graph.facebook.com
/me?
fields=albums{name, photos{name, picture}}
参考:https://developers.facebook.com/docs/graph-api/using-graph-api#reading - 章节:制作嵌套请求
使用 Koala Ruby Gem向Facebook API发送请求时,指定嵌套字段的语法是什么?
在此维基页面https://github.com/arsduo/koala/wiki/Graph-API#getting-public-data上给出了以下示例:
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'
]})
因此,要添加Facebook API端点支持的字段,我们会传入一个包含fields
作为键的哈希值和一组受支持的字段名称,如['message', 'id', 'from']
。
如果任何字段表示具有自己属性的对象,例如Page的评级端点返回OpenGraphRating个节点的列表,并且OpenGraphRating对象具有以下属性{{1这是一个对象,那么在使用Koala的open_graph_story
语法时我们如何指定嵌套属性?
直接使用端点时,它就像:
fields
答案 0 :(得分:0)
我也被困在同一件事上。 我发现考拉将字段作为字符串数组,然后从中创建查询字符串。所以对于嵌套属性,我们可以直接写为
client.get_connection('someuser', 'posts',
{limit: @options[:max_items],
fields: ['albums{name, photos{name, picture}}','comments.summary(true).limit(100){likes.summary(true),from,message,created_time,comments.summary(true).limit(100){likes.summary(true),from,message,created_time}}', 'id', 'from', 'type',
'link', 'created_time', 'updated_time'
]})