2014-03-14 77 views
0

IM使用PHP Facebook的API發佈的內容到我的牆。 這樣的:Facebook的API後返回值

$postid = $facebook->api('/JonasDevelopment/feed', 'post', array('message'=> $postcontent , 'access_token' => "myaccesstoken", 'cb' => '')); 

結果我回來在$帖子ID看起來像JSON:

a:1:{s:2:"id";s:31:"491965997521672_714151951969741";} 

但是當我做得到的帖子ID:

$valuearray = json_decode($postid, true); 
echo $valuearray['id']; 

什麼也不顯示。

有什麼建議嗎?

+0

FB似乎是在帖子ID的他們返回格式頗不一致。這裏第一部分是用戶ID - 因此剝光它,讓你有'714151951969741' - 與ID,你應該能夠訪問通過圖形API的帖子。 – CBroe

回答

0

$postid的價值似乎我錯了。不管怎麼說,我覺得你正在訪問的id值以錯誤的方式,而這 - 嘗試

echo $valuearray->{'id'}; 

您還可以通過傾銷$valuearray值調試 - var_dump($valuearray)

+0

沒有錯,因爲'json_decode'的第二個參數。 – CBroe

+0

@CBroe,是的,我明白了 –

0

其實我並不需要解碼JSON,它的工作原理是這樣的:

var_dump(strstr($postid['id'], '_', true)); 

感謝反正幫助:)

0

嘗試使用這些代碼

$ret_obj = $facebook->api('/me/feed', 'POST', 
           array(
            'link' => 'www.example.com', 
            'message' => 'Posting with the PHP SDK!' 
          )); 
    echo '<pre>Post ID: ' . $ret_obj['id'] . '</pre>'; 

它將返回你張貼的ID