2011-03-12 164 views
1

這與here的情況相同,但現在我需要發佈消息到Facebook的牆頁面Facebook API:如何發佈到頁面牆

我嘗試以下(其它代碼是相同的答案):

$facebook->api('/PAGE-ID/feed', 'post', $attachment) 

,但我得到

(#200)的用戶沒有授權的錯誤應用程序執行此操作`。

我認爲我的錯誤access_token該行動,但在哪裏/如何得到正確的?

回答

2

有關獲取access_tokens和權限的Facebook文檔記錄在其網站Here上。

如果您想離線發佈,您需要獲得永久 access_token的權限,以發佈到用戶狀態頁面。您必須擁有永久(或offline_access)令牌才能執行此操作,而不必擔心令牌過期。

當請求您的access_token可以添加額外的權限屬性所發出GET請求,在關鍵你指定你想的更多的權限。

編輯: 獲取具有範圍權限的令牌的過程是,在第二個示例的「授權」一節下。它將有一個「範圍」示例請求額外的權限。這些權限曾經被記錄在OAuth流中,但他們似乎已經感動了,對不起。

+0

我必須自動終止,無需手動訪問Facebook頁面做到這一點,腳本必須令牌自動獲得訪問權限。 – Poru 2011-03-12 20:46:49

+0

@Poru,這是不可能的AFAIK。所有的應用程序必須通過畫布來託管,或專門啓動瀏覽器,讓用戶登錄,然後提供一個令牌回來。這一切都覆蓋在api文檔上。一旦令牌被授予,您可以從其他進程重用它。 – GrayWizardx 2011-03-12 21:49:07

2

該錯誤消息聽起來更像是你有一個訪問令牌,但權限是錯誤的。閱讀上extended permissions

你可能需要問「publish_stream」當你的用戶登錄/讓你的「應用程序」的權限。