2013-05-12 61 views
2

我访问谷歌加API,这是返回的结果之一:无法访问附件数据在谷歌加JSON

{ 
"nextPageToken": "Ci8I0bJLEie2uAPcvrABl96xAdaVqgO93LADn_6ABO2vgwXqpbAFoNmEBsHCpwgYAgovCJXLThInn-8054qFArGHmQKtp-gD_r6-BOqlsAW-7uAGjO7QB4HbngqEoKkLGAEQj5e7jAUY8sK7jAUiAA", 
"items": [ 
    { 
    "id": "z13rwjqhyqzve5tgq04cdxfyfzqtgfszfcw", 
    "url": "https://plus.google.com/104261567553968048744/posts/SDs5inGSpEi", 
    "actor": { 
    "displayName": "Evan Parker", 
    "url": "https://plus.google.com/104261567553968048744" 
    }, 
    "verb": "post", 
    "object": { 
    "attachments": [ 
    { 
     "objectType": "photo", 
     "displayName": "#throughglass", 
     "id": "104261567553968048744.5876882440165641794", 
     "content": "s_00d2c678-b686-49db-9666-a55292cbe59b-0", 
     "url": "https://plus.google.com/photos/104261567553968048744/albums/5876882440813674497/5876882440165641794?authkey=CM3iyKyWoa7gcA", 
     "image": { 
     "url": "https://lh5.googleusercontent.com/-aI28I0V0geM/UY7hcTjNzkI/AAAAAAABzYw/8MxNghGljew/w497-h373/s_00d2c678-b686-49db-9666-a55292cbe59b-0", 
     "type": "image/jpeg", 
     "height": 373, 
     "width": 497 
     }, 
     "fullImage": { 
     "url": "https://lh5.googleusercontent.com/-aI28I0V0geM/UY7hcTjNzkI/AAAAAAABzYw/8MxNghGljew/s0-d/s_00d2c678-b686-49db-9666-a55292cbe59b-0", 
     "type": "image/jpeg", 
     "height": 1888, 
     "width": 2560 
     } 
    } 
    ] 
    } 
    }, 
    { 
    "id": "z12zh1gopsqyep5ox04cef0rwqrtsl1ai54", 
    "url": "https://plus.google.com/117367546931116283373/posts/THnmvu6e9FT", 
    "actor": { 
    "displayName": "Max Braun", 
    "url": "https://plus.google.com/117367546931116283373" 
    }, 
    "verb": "post", 
    "object": { 
    "attachments": [ 
    { 
     "objectType": "photo", 
     "displayName": "#throughglass, thanks @mattywyattmartin!", 
     "id": "117367546931116283373.5876858377843226994", 
     "content": "IMG_20130511_153648.jpg", 
     "url": "https://plus.google.com/photos/117367546931116283373/albums/5876858374868052977/5876858377843226994?authkey=CPT71f-zl_iToQE", 
     "image": { 
     "url": "https://lh4.googleusercontent.com/-E_OT7cr5qj4/UY7LjsafuXI/AAAAAAAA1yg/RAEswDK1-iw/w497-h373/IMG_20130511_153648.jpg", 
     "type": "image/jpeg", 
     "height": 373, 
     "width": 497 
     }, 
     "fullImage": { 
     "url": "https://lh4.googleusercontent.com/-E_OT7cr5qj4/UY7LjsafuXI/AAAAAAAA1yg/RAEswDK1-iw/s0-d/IMG_20130511_153648.jpg", 
     "type": "image/jpeg", 
     "height": 1276, 
     "width": 1276 
     } 
    } 
    ] 
    } 
    } 
] 
} 

这是我如何与PHP访问它:

$posts = json_decode($content); 
foreach ($posts->items as $value){ 
    echo "<b>ID: </b>" . $id . "<br />"; 
    echo "<b>Name: </b>" . $value->actor->displayName . "<br />"; 
    echo "<b>Profile URL: </b>" . $value->actor->url . "<br />"; 
    echo "<b>Post URL: </b>" . $value->url . "<br />"; 
    echo "<b>Post Text: </b>" . $value->object->attachments->displayName . "<br />"; 
    echo "<b>Image Small: </b>" . $value->object->attachments->image->url . "<br />"; 
    echo "<b>Image Full: </b>" . $value->object->attachments->fullImage->url . "<br /><br />"; 
    $count++; 
} 

出于某种原因,因为它是根据“对象”嵌套我不能让附件数据。是否有解决方法或解决方法,将为此工作?

回答

5
echo "<b>Post Text: </b>" . $value->object->attachments[0]->displayName . "<br />"; 
echo "<b>Image Small: </b>" . $value->object->attachments[0]->image->url . "<br />"; 
echo "<b>Image Full: </b>" . $value->object->attachments[0]->fullImage->url . "<br /><br />"; 

附件部分是一个数组。所以,你需要通过它的数组索引来访问它,那么你可以访问数组中的对象的属性。