2010-07-07 81 views
0

我創建和應用程序在Facebook(它是在「沙箱模式」)。 我在頁面中添加了「connect to facebook」按鈕。 登錄工程確定,但是當我嘗試使用方法stream_publish,我得到這個錯誤:Facebook應用程序,登錄和與PHP不工作stream.publish

Uncaught exception 'FacebookRestClientException' with message 'The user hasn't authorized the application to perform this action' in 

我注意到,當我登錄時,它不會說的「內容發佈到你的牆」登錄彈出。我看到,當我用facebook連接按鈕登錄到digg.com時,但在應用程序中看不到它。

所以,我需要在我的應用程序設置中設置某種設置...是否有另一個登錄用戶將授予我的應用程序在他的流上發佈數據?

更新#1

這是我用它來編輯我的流線:

$這個 - > facebook_connect->客戶端 - > stream_publish($消息,NULL,NULL,XXXXXX, XXXXXXXX); 其中XXXXXXX是我在FB上的用戶標識。

更新#2 當我登錄我的FB上的個人資料,進入「帳戶」,「應用程序設置」,「編輯設置」我的申請,我沒有看到「內容發佈到我的牆「,如在」事件「應用程序中...

回答

0

阿布拉kadabra

$session = $facebook->getSession(); 
$loginUrl = $facebook->getLoginUrl(
     array(
     'canvas' => 1, 
     'fbconnect' => 0, 
     'req_perms' => 'publish_stream' 
     ) 
); 

來源:http://thinkdiff.net/?p=1767

+0

看起來像一個偉大的教程。我也會看看這個!非常感謝!我正在使用REST api,我猜它已經過時了... – mrmuggles 2010-07-07 01:56:05

+0

要刪除「iframe」類型的應用程序,只需刪除「canvas」參數。它工作的很好,謝謝:) – mrmuggles 2010-07-07 02:53:08

0

您必須具有publish_stream權限才能發佈到流。我知道這聽起來很明顯,但爲了獲得這個權限和其他擴展權限,你必須特別請求它們。我不知道如何用PHP做到這一點,但這些鏈接可能會有所幫助:

Extended Permissions

Authentication(參見 「請求擴展權限」)

PHP SDK Tutorial

+0

是的,我看到「發佈流」權限的地方。這只是facebook API DOC清晰(諷刺)。謝謝,我會看看這些網頁! – mrmuggles 2010-07-07 01:41:04

相關問題