如何一次从几个id中获取照片和名字

How to get photo and name from several ids at once

本文关键字:获取 照片 id 几个 何一次      更新时间:2023-09-26

我想在一个应用程序中向我的访问者展示他们的朋友。我在应用程序中获得了朋友的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参数:

fields=name,id,picture

默认情况下,Graph API只返回nameid。指定您希望在fields列表中显示他们的个人资料图片,也将为您提供图片。所以使用Javascript SDK的完整请求看起来像这样:

FB.api('/me/friends', { fields: 'name,id,picture' }, function(response) {
  // ...
}

UPDATE:为一组你已经拥有的id获取图片,你必须像这样使用FQL:

SELECT uid, name, pic FROM user
  WHERE uid IN (uid1, uid2, uid3,...) 

uid1等替换为您的id列表

或者,您可以使用批处理请求一次向/uidX/picture发出多个API请求。我不知道javascript SDK能帮到你多少;它可能需要比它的价值更多的工作。我还是用FQL吧