2010-12-13 63 views
21

我正在開發一個項目,將數據發佈到Facebook頁面的牆上。我已經建立了一個Facebook應用程序,並嘗試發佈到他們的頁面的牆時,目前從用戶請求以下權限:哪些Facebook權限允許發佈到頁面牆(不是簡介牆)?

  • publish_stream
  • offline_access
  • manage_pages

的代碼目前職位,一個PROFILE的牆壁成功,但當試圖張貼到一個頁面的牆壁時,返回以下錯誤:

Facebook error: (#200) The user hasn't authorized the application to perform this action.

同樣,我要求的權限顯然足以張貼到配置文件的牆上,但不會顯示在頁面的牆上。我錯過了哪些權限以張貼到網頁的牆上?預先感謝您的任何幫助。

+0

需要更多信息。你使用什麼協議(API)?您是否收到網頁的訪問令牌?您嘗試連接網頁的用戶管理員? – Lex 2010-12-13 19:21:24

+0

我使用OAuth 2.0協議獲取訪問令牌,並使用Graph API發佈數據,向「https://graph.facebook.com/".$facebookPageID."/feed」發出curl請求以將數據發佈到屬於$ facebookPageID的牆上。我已收到配置文件的牆和頁面牆的訪問權限。該頁面由我發佈的配置文件的用戶管理,並且Facebook爲這兩個頁面返回相同的訪問令牌。訪問令牌是通過登錄頁面管理員的帳戶授予的。非常感謝您的時間和幫助。 – Sean 2010-12-13 21:01:40

回答

12

這就是你要做的。首先,閱讀關於extended permissions的文檔。請注意,「manage_pages」說:

Enables your application to retrieve access_tokens for pages the user administrates. The access tokens can be queried using the "accounts" connection in the Graph API. This permission is only compatible with the Graph API.

這意味着你必須基於來自

https://graph.facebook.com/$USERID/accounts?access_token=$USER_ACCESS_TOKEN 

響應爲您的應用程序切換你的用戶的訪問令牌。所以,一旦你有你的PAGE訪問令牌,切換請求發佈消息像這樣:

https://graph.facebook.com/$PAGEID/feed 

在postfields(使用捲曲或一些這樣的),包括您的信息,$ PAGE_ACCESS_TOKEN

+2

我必須包含** status_update ** 權限(scope = publish_actions,manage_pages,status_update)才能發佈到FB頁面。我無法在任何Facebook文檔中找到此權限。請參閱http://stackoverflow.com/q/15796138/516910我沒有_不必「喜歡」該頁面。 – 2013-04-11 18:46:49

+0

這個過程的最新更新是什麼? – 2015-12-28 23:50:39

2

爲了張貼到用戶的牆上,您可以使用「publish_stream」的權限,但同樣不會與頁面一起使用。爲了張貼到頁面的牆上,我們需要首先像頁面。 (成爲粉絲現在已被Facebook刪除)。以上答案基於我對FBConnect(面向iPhone的Facebook SDK)的使用經驗。在我的應用程序中,我不得不使用Like Button來讓用戶第一次喜歡頁面,之後他可以在頁面的牆上張貼。我無法找到任何可以直接讓用戶在登錄後發佈到Page的牆上的具體權限。如果你有任何線索,請讓我知道。