关于php:从Facebook Graph API获取用户名

Get user's name from Facebook Graph API

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

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

网站从http://graph.facebook.com/1157251270返回名字。

我希望我说清楚。

谢谢你


图形API返回JSON字符串,因此可以使用:

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

或更详细:

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

参见json_decode-解码JSON字符串


如果您使用Facebook的php-sdk,也可以这样做来查询他们的图形API:

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


你可以通过以下方式获得:

1
2
$link = json_decode(file_get_contents('http://graph.facebook.com/1157251270'));
echo $link->name;

漂亮的短裙:http://webhole.net/2009/08/31/how-to-read-json-data-with-php/


您可以使用:

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

或者,如果您喜欢curl(这里有https和访问令牌):

1
2
3
4
5
6
7
8
9
10
11
12
13
$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);


对于facebook数据,您可以使用json_decode

对于其他网站,请尝试使用WebCraping,例如:在这里