2013-08-06 84 views
2

構建Facebook視頻應用程序。用戶可以通過在app og.like中使用喜愛的視頻。顯示來自圖形API的[圖像] [url]

我用

$response = $facebook->api(
    'me/og.likes', 
    'GET' 

,我會得到

"data": { 
    "object": { 
     "id": "1399918593560042", 
     "url": "http://some_url.com", 
     "type": "video.tv_show", 
     "title": "the_video_title" 
    } 

要獲得網址我使用。

$response = $facebook->api(
'me/og.likes?app_id_filter=381977341837631', 
'GET' 
); 

foreach ($response['data'] as $data); 
$Object = $data['data']['object']; 

然後

<li class="program"><a class="thumbnail" data-transition="slide" href="<?php echo $Object['url']; ?>"> 
    <img src="IMG_URL"></a></li> 

的問題是,以顯示圖像。如果我點擊圖API中的ID,我將獲得

{ 
    "id": "1399918593560042", 
    "url": "http://some_url.com", 
    "type": "video.tv_show", 
"title": "the_video_title", 
    "image": [ 
{ 
    "url": "https://v.redli.se/p/102/sp/10200/thumbnail/entry_id/0_53lzx39w/width/1024/height/720", 
    "secure_url": "https://v.redli.se/p/102/sp/10200/thumbnail/entry_id/0_53lzx39w/width/1024/height/720", 
    "type": "image/jpg", 
    "width": 1024, 
    "height": 576 
} 

我的問題是。我如何顯示圖像?

+0

這很奇怪提取圖片的URL,他們把它稱爲「形象」,那麼數組中有1個對象,你可能需要另外一個foreach來獲得這個<?php foreach($ Object ['image'] as $ Image):?>Image<?php endforeach; ?> – ahmad

+0

@ahmad有編輯我的代碼上面,看它現在的樣子。試圖獲得你寫的代碼,但似乎我得到的錯誤。任何想法 ? –

回答

1

你得到$Object後,使\GET請求這個對象 -

$resp = $facebook->api($Object['id']); 

然後從響應 -

if(isset($resp['image'])) 
{ 
    foreach ($resp['image'] as $image) 
    { 
     echo $imag_url = $image['url']; 
    } 
} 
+0

謝謝,這解決了它。 –

1

基本上你需要使用Object id發出請求才能從Facebook Graph獲得想要的圖像。

所以,分配對象$ = $數據後,[「數據」] [「對象」] 您可以簡單地從http://graph.facebook.com/ $對象[「身份證」] 得到JSON,並獲得圖像。

示例代碼:

$facebookJSON = file_get_contents("https://graph.facebook.com/" . $Object['id']); 
$myArr = json_decode($facebookJSON, 1); 
$myImage = $myArr['image']['url']; 

$ MYIMAGE將所述對象圖像的URL。你好, 蓋伊。

+0

把這個給我「警告:file_get_contents(https://graph.facebook.com/):未能打開流:HTTP請求失敗!HTTP/1.0 400錯誤請求」 這是我的代碼現在看起來如何http ://goo.gl/AQpVL9,也許在這裏非常錯誤。 –