Php Facebook名称是否可以使用Facebook API公开访问
Facebook上的个人资料名称是否可以公开访问,就好像我不需要登录Facebook就可以访问它们一样 我打算将大量名称存储为较大项目的一小部分。我觉得使用Facebook Graph API在Facebook上搜索名字是一项相对简单的任务,但我有点困惑 我在网上找到了另一个教程,其中描述了一种简单的方法,可以使用一行代码查找任何Facebook个人资料图片:Php Facebook名称是否可以使用Facebook API公开访问,php,facebook,facebook-graph-api,Php,Facebook,Facebook Graph Api,Facebook上的个人资料名称是否可以公开访问,就好像我不需要登录Facebook就可以访问它们一样 我打算将大量名称存储为较大项目的一小部分。我觉得使用Facebook Graph API在Facebook上搜索名字是一项相对简单的任务,但我有点困惑 我在网上找到了另一个教程,其中描述了一种简单的方法,可以使用一行代码查找任何Facebook个人资料图片: https://graph.facebook.com/USER-ID/picture?type=large 这非常有用,因为我能够使用
https://graph.facebook.com/USER-ID/picture?type=large
这非常有用,因为我能够使用一系列ID号和少量PHP收集大量的配置文件图片,如我的测试页面上所示:
但我不熟悉的是,我是如何在这一行中从收集图片到收集名字的。可能吗?还有别的(更好的)办法吗
这是我正在使用的代码。ID的范围只是一个例子
function gen_pix($min, $max, $quantity) {
$numbers = range($min, $max);
shuffle($numbers);
$x_arr = array_slice($numbers, 0, $quantity);
foreach ($x_arr as $key => $value) {
$username = "https://graph.facebook.com/" . $value . "/";
$json = json_decode(file_get_contents($username), true);
echo $json["name"];
}
}
$x = 337800042;
$y = 337800382;
$z = 1;
gen_pix($x,$y,$z);
我对这段代码有了进一步的了解,我可以回显
$username
,并获得我要查找的URL(例如https://graph.facebook.com/337800382/
)但之后我什么也得不到json_decode
似乎不起作用。就像你拉配置文件图片一样,你可以用用户ID获取用户的基本信息
提供始终可公开访问的数据列表
所以你需要发出一个GET请求来撤回JSON,就像这样
{用户id}/
例如,提取我的基本信息。因此,您的PHP将如下所示
$json = json_decode(file_get_contents("https://graph.facebook.com/$user_id/"), true);
echo $json["name"];
更新:基于上述代码,值得添加一个IF
来捕获无效的Facebook ID。Facebook ID可能不是连续的,所以不是每个人都会返回姓名或图像
更新代码:
<?php
function gen_pix($min, $max, $quantity) {
$numbers = range($min, $max);
shuffle($numbers);
$x_arr = array_slice($numbers, 0, $quantity);
foreach ($x_arr as $key => $value) {
$username = "https://graph.facebook.com/" . $value . "/";
$json = json_decode(file_get_contents($username), true);
if (!isset($json['name'])) {
echo "Invalid ID<br />";
}
else {
echo $json["name"]. '<br />';
}
}
}
$x = 337800042;
$y = 337800382;
$z = 50;
gen_pix($x,$y,$z);
?>
还值得注意的是,从图表中提取这么多数据需要一段时间。请看一看如何执行批处理请求,以加快速度 这个项目是一个社会实验,我可以很容易地使用其他数据库随机生成名字,但使用从Facebook上刮下来的名字会更加真实。我如何访问Facebook上的姓名?发布您的代码,如何获取
id
s?从db还是随机生成id
?@AdamAzad添加了我的代码,并附上了下面Pete的建议。我走得更远了一点,但我遇到了一个新问题,你觉得怎么样?@PeteSimmons当我var\u dump
我得到NULL
Joshie,Pete的代码应该可以工作,问题是你在随机地尝试数字这似乎可以工作,但没有返回任何东西,我编辑了我的帖子以获得我的代码。你的提琴也坏了。你认为这可能是你的一些Facebook ID的问题。使用$x变量运行fiddle将返回名称“Jill Walker Rettberg”。但是,$y和$z不起作用。有什么原因可以让它在PHP小提琴中起作用,而在我的任何浏览器中都不起作用?因为你的小提琴现在对我有用,以前没有。但是现在我只是把代码放到一个文件中,并在Chrome Canary、Firefox和Safari上进行测试,但是它们都是“无效ID”,即使我可以确认其中一些确实有效。当你点击{Invalid ID}时,你从图中得到了什么响应?