进行多个 fb.api 调用

Making multiple fb.api calls

本文关键字:api 调用 fb      更新时间:2023-09-26

我刚刚开始使用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()

所有回复都会真正有所帮助。

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

您可以将它们合并到一个批处理请求中 - 但这会使处理响应变得更加复杂,而且我不确定在如此简单的用例中它是否会带来任何"性能"增益。

编辑:

现在有一种新的方法¹使用字段扩展功能:

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

– 这将为您提供当前用户的请求字段 ID、电子邮件和first_name,以及他们朋友的 ID 和姓名。(实际上,如果您只需要它们的 id 和名称,,friends就可以了,因为这些是 API 提供的默认字段 - 但如果您还需要其他字段,您可以使用 ,friends.fields(…) 添加它们。


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