从Facebook Graph API获取用户姓名

19

我想知道如何从外部页面检索字符串。

例如:在PHP网站中,用户发送了一个Facebook ID,例如:1157251270

然后网站从http://graph.facebook.com/1157251270返回名称

希望我表述清楚了。

谢谢


(相关)什么是JSON,为什么要使用它? - Gordon
我会阅读Facebook的服务条款,以明确您的活动是否合法。 - ifaour
5个回答

26

Graph API返回JSON字符串,因此您可以使用:

echo json_decode(file_get_contents('http://graph.facebook.com/1157251270'))->name;

更加冗长的说法:

$pageContent = file_get_contents('http://graph.facebook.com/1157251270');
$parsedJson  = json_decode($pageContent);
echo $parsedJson->name; // Romanos Fessas

参见json_decode — 解码JSON字符串


6

如果您正在使用Facebook的PHP SDK,您也可以这样做来查询他们的图形API:

$fb = new Facebook();
$object = $fb->api('/1157251270');

@arslaanejaz 很高兴能够帮助! - jesal

5

2

你可以使用以下方式之一:

$res_json = file_gets_contents("http://graph.facebook.com/1157251270")
$res = json_decode($res_json)

或者,如果您更喜欢使用 curl(这里使用 https 和访问令牌):
$ch4 = curl_init();
curl_setopt($ch4, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch4, CURLOPT_URL, "https://graph.facebook.com/1157251270?access_token=YOUR_ACCESS_TOKEN");
curl_setopt($ch4, CURLOPT_SSL_VERIFYPEER, false);

if(!$result = curl_exec($ch4))
{
    echo curl_error($ch4);
} else {
    $res = json_decode($res_json)
}

curl_close($ch4);

如果您需要非公开信息,您将需要向用户请求权限,然后使用 access_token 查看其信息。 - dwarfy

0

如果要使用Facebook数据,您可以使用json_decode

对于其他网站,请尝试使用网络爬虫,例如: 这里


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接