2012-08-30 81 views
0

我使用下面的腳本來發布鏈接到Facebook頁面的牆:「未捕獲的OAuthException:發生未知錯誤。」而試圖使牆上張貼

ini_set("zend.ze1_compatibility_mode", "off"); 
require_once('facebook-php-sdk/src/facebook.php'); 
$appId = 'XXXXXXXXXXXXXX'; 
$secret = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXX'; 
$facebook = new Facebook(array('appId' => $appId, 'secret' => $secret)); 
$access_token = file_get_contents('https://graph.facebook.com/oauth/access_token?client_id='.$appId.'&client_secret='.$secret.'&grant_type=client_credentials'); 
$access_token = preg_replace('/^access_token=/', '', $access_token); 
$attachment = array(
    'access_token' => $access_token, 
    'message' => 'message text', 
    'link' => 'http://www.domain.com/', 
    'name' => utf8_encode('link title'), 
    'description' => utf8_encode('link description'), 
    'picture' => 'http://www.domain.com/images/picture.jpg' 
); 
$facebook->api('/XXXXXXXXXXXX/feed', 'POST', $attachment); 

這是工作相當不錯,但由於2-幾周,開始trowing而絕對以下錯誤沒有改動做了:

Fatal error: Uncaught OAuthException: An unknown error has occurred. 
thrown in /path/to/public_html/facebook-php-sdk/src/base_facebook.php on line 1033 

通過一些初級的調試,我發現,如果我註釋掉$attachment數組的元素link問題去了。然而,它導致name在Facebook頁面開始鏈接到圖片文件,這絕對不是一個選項。

任何幫助將不勝感激。

UPDATE:

我試圖執行通過圖形API瀏覽器這一請求,並得到了同樣的錯誤:

{ 
    "error": { 
     "message": "An unknown error has occurred.", 
     "type": "OAuthException", 
     "code": 1 
    } 
} 
+0

您是否嘗試過通過資源管理器運行查詢,因爲您可能會收到更好的錯誤消息。請確保將其更改爲使用您的access_token並更改爲請求方法以發佈https://developers.facebook.com/tools/explorer – TommyBs

+0

hm,如何通過瀏覽器運行它?我只是將'POST'參數作爲'GET'字符串傳遞嗎? –

+0

https://developers.facebook.com/tools/explorer - 輸入Graph API端點地址,從下拉列表中將方法更改爲POST,使用「添加字段」爲POST參數添加名稱/值對...,然後單擊發送。 (雖然我懷疑它會給出更有幫助的錯誤信息。) – CBroe

回答

0

我有同樣的問題,用一個簡單的基於Web的程序,偶爾會更新我客戶的Facebook頁面,並更新他的庫存狀態。

從我所知道的情況來看,無論出於何種原因,這個bug已被置於「無法修復」狀態,並且相關功能已被棄用?

https://developers.facebook.com/bugs/397106947003500?browse=search_5013a59fc630a7b70100468

我不知道爲什麼,只是LINK功能將被棄用,我也不知道新的正確的方法是發佈鏈接什麼,因爲圖形文件仍然列出了「鏈接」是正確的字段用於這樣做。任何人?

在上面的錯誤頁面上,他給出了一個鏈接,可以提供更多信息,但鏈接不起作用。我以爲,也許是「.intern」部分不應該在那裏,給我這個網址...

https://developers.facebook.com/blog/post/2012/07/25/platform-updates--operation-developer-love/

...它的工作,但我沒有看到任何信息那裏有與不推薦使用的功能相關的內容,或者是否幫助我確定如何更改我的代碼以發佈鏈接。也許有人對Graph API有更多的瞭解可以幫助!

[我真的希望Facebook停止棄用東西;它真的會做任何傷害讓它繼續工作嗎?他們稱之爲Operation Developer Love,但是我怎麼能喜歡那些無緣無故導致我額外工作的東西?]

+4

剛剛發佈了一篇關於此的博客文章(http://www.midwesternmac.com/blogs/jeff-geerling/facebook-oauthexception-when)。我無法找出解決方法......你根本無法在Facebook上發佈'link'參數。 – geerlingguy

相關問題