有没有办法获取我们朋友的Facebook个人资料照片并将其存储在我们的数据库中以供进一步使用。 (就像他们的Facebook个人资料的网址一样,好像他们更改了他们的个人资料图片,我们会自动获取他们的新个人资 在graph.facebook.com和facebook api的帮助下可以做类似的事情,但我不知道该怎么做。 我可以获得代码或来源,或者甚至只是一些指导如何做到这一点。 我正在使用php和mysql并使用xampp作为我的本地服务器。
答案 0 :(得分:1)
假设您拥有用户的用户名,则可以从此网址获取个人资料照片:https://graph.facebook.com/{username}/picture
例如,如果您想要我的照片,可以从https://graph.facebook.com/hawkw/picture
您可以在PHP中使用file_get_contents
来检索图像。
如果您想获得特定尺寸的图片,可以使用网址https://graph.facebook.com/{username}/picture?type={size}
,将{size}替换为square
,small
,normal
或{{ 1}},取决于你想要的尺寸。或者,您可以使用large
指定特定的图片尺寸。
首先,你要制作一张桌子来存储你的图像。我会让你根据你正在使用的数据库架构来解决这个问题。图像应存储为https://graph.facebook.com/{username}/picture?width={width}&height={height}
s。
然后您将要连接到数据库。以下是打开数据库连接的示例代码:
BLOB
然后,您应该使用如下所示的查询将图像插入表中:
// Make the connect to MySQL or die
// and display an error.
$link = mysql_connect($host, $username, $password);
if (!$link) {
die('Could not connect: ' . mysql_error());
}
// Select your database
mysql_select_db ($database);
然后致电
$query = "INSERT INTO images_table ";
$query .= "(image) VALUES ('$data')";
请注意,我将$succeeded = mysql_query($query, $img);
的结果分配给名为mysql_query
的变量,因为$succeeded
返回一个布尔值,可用于确定mysql_query
命令是否成功或不 - 如果成功插入图像,则应为INSERT
。这将允许您响应数据库插入过程中的错误。
请注意,我从未真正使用过PHP(我实际上并没有计划过) - 这是Google搜索的全部结果。我没有测试任何这些代码,所以它可能无法正常使用,但它应该足以让你朝着正确的方向前进。
答案 1 :(得分:1)
您可以使用Facebook API获取图片:
/* make the API call */
$response = $facebook->api(
"/me/picture"
);
/* handle the result */
https://developers.facebook.com/docs/graph-api/reference/user/picture/