首页 文章

获取Facebook用户 Profiles 图片,而无需登录Facebook

提问于
浏览
1

在我的数据库中,一些用户存储了Facebook ID,就像他们通过Facebook登录我的网站一样 . 对于每个用户,我想存储一张 Profiles 图片,该图片将从他们的Facebook帐户中检索出来 .

Facebook PHP SDK指定following way来获取用户图片:

/* PHP SDK v4.0.0 */
/* make the API call */
$request = new FacebookRequest(
  $session,
  'GET',
  '/me/picture'
);
$response = $request->execute();
$graphObject = $response->getGraphObject();
/* handle the result */

问题是 $session param . 目前,我在用户通过Facebook登录我的网站后获得了FacebookSession对象 . 但是,对于我想要实现的目标,我没有 Session .

Is it possible in PHP SDK to get Facebook user profile picture when having only the user ID, and without them being logged into Facebook?

2 回答

  • 0

    我希望这有帮助,

    http://graph.facebook.com/USERNAME OR USERID/picture?type=large
    

    http://graph.facebook.com/USERNAME OR USERID / picture?type = small http://graph.facebook.com/USERNAME OR USERID / picture?type = square

    您不需要登录Facebook只需使用USERNAME OR USERID . 这是简单的,基本的东西,只需要谷歌搜索......如果你不是在寻找这个,请详细说明你正在做的任务......

    祝好运!!!

  • 0

    只需通过GET请求使用以下图形路径:

    /{user_id}?fields=picture.type(large),id,name
    

    字段 type 可以是以下值之一:

    • 正常

    • 平方

    或者像这样使用宽度和/或高度值:

    /{user_id}?fields=picture.width(200).height(200),id,name
    

    您还可以添加 redirect=0 param . 默认情况下,图片边缘将返回图片而不是JSON响应 . 如果您希望图片边缘在您发出请求时返回描述图像集redirect = 0的JSON .

    所以你将得到以下JSON响应:

    {
      "picture": {
        "data": {
          "height": 120,
          "is_silhouette": false,
          "url": "https://scontent.xx.fbcdn.net/hprofile-xaf1/v/t1.0-1/c53.10.120.120/165675_138088076251005_752993_n.jpg?oh=a9450bf53f2d2294531e11ae28be99c1&oe=56C740A5",
          "width": 120
        }
      },
      "id": "138087416251071",
      "name": "Zenonis",
    }
    

相关问题