我正在开发一个CMS,它可以从用户的Facebook URL(即http://facebook.com/users_unique_url)中获取用户的个人资料图像。我怎样才能做到呢?是否有一个facebook API调用,获取用户的个人资料图像URL,而不需要用户允许应用程序?


当前回答

URI  = https://graph.facebook.com/{}/picture?width=500'.format(uid)

您可以通过在线facebook id查找工具获得个人资料URI

你也可以通过类型参数可能的值小,正常,大,平方。

参考官方文件

其他回答

博客文章“抓取Facebook图形对象的图片”可能会提供另一种解决方案。使用教程中的代码以及Facebook的Graph API及其PHP SDK库。

... 并且尽量不要使用file_get_contents(除非您已经准备好面对后果——参见file_get_contents vs curl)。

你关心头像大小吗?在使用PHP实现登录Facebook时。我们将向您展示在Facebook PHP SDK中获得大尺寸头像的简单方法。此外,您还可以获得自定义大小的Facebook个人资料的图像。

使用下面的代码行设置头像尺寸。

$userProfile = $facebook->api('/me?fields=picture.width(400).height(400)');

查看这个帖子:http://www.codexworld.com/how-to-guides/get-large-size-profile-picture-in-facebook-php-sdk/

URI  = https://graph.facebook.com/{}/picture?width=500'.format(uid)

您可以通过在线facebook id查找工具获得个人资料URI

你也可以通过类型参数可能的值小,正常,大,平方。

参考官方文件

简单的一行代码,保存完整尺寸的档案图像在您的服务器上。

<?php

copy("https://graph.facebook.com/FACEBOOKID/picture?width=9999&height=9999", "picture.jpg");

?>

只有在php.ini中启用了openssl,这才有效。

我在想,也许ID会是一个有用的工具。每当用户创建一个新帐户时,它应该获得一个更高的ID。我谷歌了一下,发现有一种方法可以通过ID来估计帐户创建日期,Massoud Seifi从metadatascience.com收集了一些关于它的好数据。

阅读这篇文章:

http://metadatascience.com/2013/03/11/inferring-facebook-account-creation-date-from-facebook-user-id/

下面是一些可以下载的id:

http://metadatascience.com/2013/03/14/lookup-table-for-inferring-facebook-account-creation-date-from-facebook-user-id/