我刚开始使用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()
个调用?
所有回复都会真的有用。
答案 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(…)
添加它们。 )
¹现在已经有一段时间了,但现在这个问题再次引起了我的注意,所以我想我会补充一点。