进行多个fb.api调用

时间:2012-06-21 08:50:22

标签: javascript facebook-graph-api javascript-events facebook-javascript-sdk

我刚开始使用Facebook Graph API。

如何通过1个FB.api调用来调用多个属性?现在,我有

        FB.api('/me', function(me){
          if (me) {
            var myEmail = me.email;
            var myID = me.id;
            var myFirst_name = me.first_name;
            //Other attributes
          }
        });

        FB.api('/me/friends',{ fields: 'name,id' }, function(response){
            var friends = response.data;
        }
       });

如何将两个api调用合并为一个,例如,只需1 FB.api()个调用?

所有回复都会真的有用。

1 个答案:

答案 0 :(得分:7)

  

如何将两个api调用合并为一个,比如说只有一个FB.api()调用?

您可以将它们合并为一个Batch Request - 但这会使响应处理变得更加复杂,而且我不确定它是否会在如此简单的使用中带来任何“性能”提升无论如何。

编辑:

现在有一种新的方式使用field expansion功能¹:

/me?fields=id,email,first_name,friends.fields(id,name)

- 这将为您提供当前用户的请求字段ID,email和first_name,以及他们的朋友的ID和名称。 (实际上,如果您只想要他们的ID和名称,那么只需要,friends即可,因为这些是API提供的默认字段 - 但如果您还想要其他字段,则可以使用,friends.fields(…)添加它们。 )


¹现在已经有一段时间了,但现在这个问题再次引起了我的注意,所以我想我会补充一点。