Javascript 如何一次从多个ID获取照片和姓名

Javascript 如何一次从多个ID获取照片和姓名,javascript,facebook,sdk,Javascript,Facebook,Sdk,我想在应用程序中向访问者显示他们的朋友。我可以在应用程序中获得朋友的id,但如何一次获得他们的姓名和照片?有可能吗?一旦用户批准了您的应用程序,您可以执行以下FQL查询: SELECT uid, name, pic FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 = me()) AND is_app_user = 1 全功能: function getFriends() { FB.login(function(r

我想在应用程序中向访问者显示他们的朋友。我可以在应用程序中获得朋友的id,但如何一次获得他们的姓名和照片?有可能吗?

一旦用户批准了您的应用程序,您可以执行以下FQL查询:

SELECT uid, name, pic FROM user
WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 = me())
AND is_app_user = 1
全功能:

function getFriends() {  
    FB.login(function(response) {
      if (response.session && response.perms) {
        FB.api(
          {
            method: 'fql.query',
            query: 'SELECT uid, name, pic FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 = me()) AND is_app_user = 1'
          },
          function(response) {
            alert('Friends using app: ' + JSON.stringify(response));
          }
        );
      }
    } , {perms:''}); 
}

在API请求中使用
字段
参数:

fields=name,id,picture
默认情况下,图形API仅返回
名称
id
。在
字段
列表中指定您想要他们的个人资料图片,也将为您提供图片。因此,使用Javascript SDK的完整请求如下所示:

FB.api('/me/friends', { fields: 'name,id,picture' }, function(response) {
  // ...
}
更新:要获取您已有的一组ID的图片,必须使用FQL,如下所示:

SELECT uid, name, pic FROM user
  WHERE uid IN (uid1, uid2, uid3,...) 
uid1
等替换为您的ID列表


或者,您可以使用一次向
/uidX/picture
发出多个API请求。我不知道javascript SDK在这方面能帮你多少忙;它可能需要比它的价值更多的工作。我只想使用FQL。

嗨,回答是thx。我只需要应用程序中的朋友。我通过friends.getAppUsers获取id。所以我需要每个id的名称和图片。我不想重复几个请求,但需要一个方法来获取id集合的名称和图片。我更新了我的答案。我看不出你只是在寻找你的应用程序的用户。但是如果我有一组id,我如何一次获得它们?你必须使用FQL(请参阅我的更新)。我不知道常规图形API是否可以做这样的过滤(尽管我有兴趣被证明是错误的)。