我想學習如何使用CURL和Json來訪問從Facebook圖形API發送的數據。如何使用curl訪問更深層次的json樹?
我用下面的函數,拉後的數據:
function loadFB($fbID){
$url="https://graph.facebook.com/".$fbID."/feed?limit=1&access_token=xxxx";
$c = curl_init($url);
curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
$page = json_decode(curl_exec($c));
curl_close($c);
$post=reset($page->data);
if($post->message == '') {
$post_msg = '<a href="' . $post->link . '">' . $post->name . '</a>';
} else {
$post_msg = $post->message;
}
return $post_msg;
}
示例JSON數據是這樣的:
{
"data": [
{
"id": "xxxx",
"from": {
"name": "xxx",
"category": "xxx",
"id": "xxx"
},
"picture": "xxxxxxxxx",
"link": "xxxxxxx",
"name": "Event name goes here",
"properties": [
{
"text": "Friday, July 15, 2011 at 4:00pm"
},
{
"text": "Venue Name"
}
],
"icon": "http://static.ak.fbcdn.net/rsrc.php/v1/yW/r/r28KD-9uEMh.gif",
"type": "link",
"object_id": "xxx",
"created_time": "2011-06-23T06:46:17+0000",
"updated_time": "2011-06-23T06:46:17+0000",
"likes": {
"data": [
{
"name": "xxxx",
"category": "xxx",
"id": "xxxx"
}
],
"count": 1
}
}
],
"paging": {
"previous": "xxxxx",
"next": "xxx"
}
}
既然這樣,我可以檢索網頁的消息更新,或者如果它的事件我可以檢索事件的名稱和鏈接。
但是如果我想檢索說事件日期或地點名稱怎麼辦?它屬於另一層「屬性」。
使用我的代碼到目前爲止,我可以通過$ post-> message訪問第一層次的事物,但是當我嘗試使用$ post-> properties-> text時這不起作用 - 所以我不明白這工作。最重要的是,在'屬性'中,有2個'文本',這增加了我對如何訪問這些東西的困惑。
任何指針?在上面的數據