我想知道如何从外部页面检索字符串。
例如:在PHP网站中,用户发送facebook id,例如:1157251270
网站从http://graph.facebook.com/1157251270返回名称。
我希望我说清楚。
谢谢
答案 0 :(得分: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
答案 1 :(得分:6)
如果您使用Facebook的PHP SDK,您也可以执行此操作来查询其图形API:
$fb = new Facebook();
$object = $fb->api('/1157251270');
答案 2 :(得分:5)
你得到它:
$link = json_decode(file_get_contents('http://graph.facebook.com/1157251270'));
echo $link->name;
好的tut: http://webhole.net/2009/08/31/how-to-read-json-data-with-php/
答案 3 :(得分: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);
答案 4 :(得分:0)
对于Facebook数据,您可以使用json_decode
。
对于其他网站尝试使用webscraping,例如: here