2012-03-20 91 views
0

我有一個Facebook應用程序和一個Facebook(粉絲)頁面。 我想發佈到頁面,作爲應用程序(如果可能的話)驗證,從php腳本作爲cron作業定期運行。從Facebook應用程序發佈到(粉絲)頁面 - 應用程序沒有足夠的權限

我使用的是官方的facebook php sdk。

我想發佈到頁面$facebook->api($pageId."/feed", 'POST', $post);,其中$帖子包含所需messagelink按鍵,同時還應該包含access_token

爲了獲取訪問令牌,我嘗試使用$facebook->getApplicationAccessToken(),並向https://graph.facebook.com/oauth/access_token發出curl請求(結果相同)。

我得到的迴應是: OAuthException: (#200): The user hasn't authorized the application to perform this action

我可以張貼到網頁,但與https://graph.facebook.com/me/accounts一個的access_token,這需要我在第一時間提供用戶的訪問令牌。用戶和他的頁面令牌似乎在60天后最多過期,所以這種解決方案並不好。

我嘗試授予像這裏解釋的權限Authorizing a Facebook Fan Page for Status Updates,但我仍然從之前得到的錯誤。

任何有關如何張貼到不涉及用戶登錄的Facebook頁面的解決方案將受到歡迎!

回答

3

這是不可能張貼在使用Application access_token頁面和無需登錄的用戶(至少一次,以access_token,以後它可以extended),並要求相應的權限。

要以用戶身份發佈到網頁,您需要獲得用戶授予的publish_stream許可。

爲了儘可能頁,你需要通過用戶和Page access_token可以從useraccounts連接檢索授予publish_streammanage_pages權限發佈到頁面。

+0

因此,澄清,我不能張貼到沒有用戶干預的頁面?我認爲這是可能的。 – 2012-03-20 13:51:36

1

您可以通過使用Graph API Explorer的應用程序獲取所需的access_token,以張貼到Facebook頁面。在資源管理器中:

  1. 選擇代表您想要執行任務的應用程序(發佈,類似等)。
  2. 在網址欄中輸入頁面的網址:https://graph.facebook.com/page'。
  3. 點擊「獲取訪問令牌來獲得它
  4. 您威爾·得到一個對話框;選擇權限授予此應用程序; ATLEAST publish_stream,offline_access & manage_pages(張貼到網頁的牆後)
  5. 你將獲得一個新的訪問令牌,您可以使用您的應用程序發佈到您的網頁。
相關問題