2012-05-06 84 views
2

我正嘗試使用Open Graph API將操作發佈到用戶的牆上。Facebook Open Graph API返回:(#200)需要擴展權限:publish_actions

我要求'publish_actions'權限,啓用'Enhanced Auth Dialog',我的角色設置爲'developer',我的應用程序設置顯示'這個應用程序可能會代表您發佈,包括您viewabcked以及更多的圖片。 。

請求

$facebook->api('/me/permissions'); 

回報

array(1) { ["data"]=> array(1) { [0]=> array(2) { ["installed"]=> int(1) ["publish_actions"]=> int(1) } } } 

然而,當我發送以下POST請求

$data = array(); 
$data['access_token'] = $facebook->getAccessToken(); 
$data['pictureabc'] = 'http://###url###'; 
$facebook->api($app_id . '/liveluvcreate:viewabc', 'post', $data); 

我得到

Fatal error: Uncaught OAuthException: (#200) Requires extended permission: publish_actions thrown... 

作爲結果。

有什麼建議嗎?

最佳,塞巴斯蒂安

+0

您的應用程序是否爲沙盒?這可能(或可能不)與現有的錯誤有關[無法嚮應用管理員發佈opengraph操作](https://developers.facebook.com/bugs/341769392537747) –

+0

不,它不是沙盒。我只是沙盒,但錯誤保持不變。 –

+0

非常感謝!這解決了它:) –

回答

1

大概$app_id不是用戶擁有的access_token的ID。

您最好使用/me/liveluvcreate:viewabc只是爲了確保您將操作發佈到擁有access_token的用戶以及授予您應用的publish_actions

$facebook->api('/me/liveluvcreate:viewabc', 'post', $data); 
1

我知道這可能是很晚張貼解答[但它可能是幫助他人],但截至2014年,如果你想張貼任何用戶[除了應用程序註冊開發]時間表你需要Facebook的許可即應用程序需要審批 請參考以下鏈接 https://developers.facebook.com/docs/facebook-login/permissions/v2.0

您可以檢查它的右下面的概述部分提交。

+0

是的,這是真的。感謝您提供這些有用的信息。 2014年之前創建的應用程序似乎沒有這樣的問題。因爲我有一個需要'publish_actions'的舊應用程序,它仍然可以正常工作。 –