2013-10-21 53 views
4

我想在facebook頁面的牆上張貼。我可以使用App Access令牌在用戶牆上發帖。發佈到Facebook使用RestFB api的頁面牆

我通過延長DefaultFacebookClient

public class ConnectionService extends DefaultFacebookClient{ 

public ConnectionService(String appId, String appSecret) { 
    AccessToken accessToken = this.obtainAppAccessToken(appId, appSecret); 
    this.accessToken = accessToken.getAccessToken(); 
} 
} 

有了這個得到了應用訪問令牌我能夠發佈使用應用標識和appSecret用戶牆。但是當我試圖張貼到頁面牆 我得到錯誤「用戶沒有授權應用程序執行此操作」

任何人都可以諮詢?

回答

1

應用程序訪問令牌是最基本的應用程序令牌,不會允許您發佈任何內容。爲了將某些內容發佈到Facebook頁面(作爲頁面),您需要獲得頁面訪問令牌。

這個過程有點複雜,因爲您實際上需要首先授權用戶使用「manage_pages」權限,使用用戶訪問令牌您可以調用API來獲取頁面訪問令牌(/ me/accounts)。

參見這些鏈接:

順便說一句,在REST API被棄用:https://developers.facebook.com/blog/post/616/

你也可以嘗試「客戶端令牌「(開發人員設置> Adva ),我從來沒有與那個合作過,但它可能是最簡單的解決方案。在任何情況下,應用程序訪問令牌都是錯誤的。

0

確保您在驗證用戶時提到的範圍也包括manage_pages。如果您沒有將其包含在您的範圍內,則會發生此錯誤。請參考this

0

由於您從java類生成訪問令牌。 ü可以集合U由用戶要求UR從烏拉圭回合的Facebook個人資料頁面管理應用程序的鏈接,並獲得訪問令牌這裏的權限.....

+0

這並不提供答案的問題。要批評或要求作者澄清,在他們的帖子下留下評論 - 你總是可以評論你自己的帖子,一旦你有足夠的[聲譽](http://stackoverflow.com/help/whats-reputation),你會能夠[評論任何帖子](http://stackoverflow.com/help/privileges/comment)。 –

+0

會這樣做......謝謝.. –

+0

也請使用英文而不是「u」和「u」俚語。並沒有真正花費更多時間,但閱讀起來更容易。 – luschn

5

要發佈在Facebook頁面牆,你將需要按照下列步驟操作:

  1. 頭以上https://developers.facebook.com/tools/explorer
  2. 點擊「獲取訪問令牌」
  3. 在「擴展權限」選項卡,選擇選擇manage_pages和publish_actions並點擊「獲取訪問令牌」
  4. 現在在圖形API,在Get call下,輸入「me/accounts」和點擊提交
  5. 在下面的屏幕中,您將看到包含所有頁面和頁面訪問令牌的「數據」json對象。
  6. 抓取所需的頁面令牌訪問權限,並用此令牌替換下面代碼中的PAGE_ACCESS_TOKEN。
  7. 將PAGE_NAME替換爲您的網頁名稱(網址中的網頁名稱爲slug)。
  8. 運行下面的代碼和應該做的工作:)

final FacebookClient fb = new DefaultFacebookClient(PAGE_ACCESS_TOKEN); final Page page = facebookClient.fetchObject(PAGE_NAME, Page.class); facebookClient.publish("PAGE_NAME/feed", FacebookType.class, Parameter.with("message", "RestFB test"));

+1

感謝您的幫助!您的代碼可以工作,只需稍作更改:PAGE_NAME實際上是頁面ID,即您在GET請求底部找到的數字字段。不是名字本身。 –

+0

實際上,PAGE_NAME是您看到的網址中的網頁名稱的slu子。它爲我工作的標識符。更新的答案反映了這一點。感謝您指出:) – sufinawaz

+0

非常感謝,您的解決方案完美無缺。但是有一個問題,它由Graph API Explorer發佈,可以更改嗎?所有人都可以看到這個帖子。 – Denees

相關問題