使用带有id和字段的图形api中的选择

时间:2012-04-16 10:58:52

标签: facebook-graph-api

在facebook doc中,他们写道:


“默认情况下,进行查询时会返回大多数对象属性。您可以使用”fields“查询参数选择要返回的字段(或连接)。例如,此URL将仅返回id,name和Ben的照片:https://graph.facebook.com/bgolub?fields=id,name,picture

您还可以使用“ids”查询参数在单个查询中请求多个对象。例如,网址https://graph.facebook.com?ids=arjun,vernal会在同一回复中返回两个配置文件。“


有没有办法一起使用“?fields”和“?ids”?

意思是,在一个请求中仅获得包含2-3个字段的5个特定帖子ID。

感谢。

2 个答案:

答案 0 :(得分:6)

是的,有可能。你可以这样做:

&ids=<some_friends_id>,<some_other_friends_id>&fields=id,name,email,cover

问题是它还返回一个大的“元数据”对象 - 我还没弄清楚如何避免这种情况 - 这会浪费带宽。

答案 1 :(得分:1)

或者,您似乎可以使用此处记录的批处理请求:https://developers.facebook.com/docs/reference/api/batch/

例如提供的示例网址:

https://graph.facebook.com?access_token=XXX&batch=[{"method":"POST","relative_url":"me/feed","body":"message=Test status update&link=https://developers.facebook.com/"},{ "method":"GET","relative_url":"me/feed?limit=1"}]'

或分解:

https://graph.facebook.com?
    access_token=XXX&
    batch=[
        {
            "method":"POST",
            "relative_url":"me/feed",
            "body":"message=Test status update&link=https://developers.facebook.com/"
        },{
            "method":"GET",
            "relative_url":"me/feed?limit=1"
        }
    ]

我自己只是在尝试这个,但是我最初的调查结果表明你被迫通过POST提交,我认为这是有道理的,但是从地址栏测试查询也是一点点,并且与之不兼容Graph API Explorer。