簡體   English   中英

使用RestFB api發布到Facebook頁面牆

[英]Post to Facebook Page wall using RestFB api

我試圖在Facebook頁面的牆上張貼。 我可以使用App Access令牌在用戶牆上發布。

我通過擴展DefaultFacebookClient獲得了App Access Token

public class ConnectionService extends DefaultFacebookClient{

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

有了這個,我可以使用appID和appSecret發布到用戶牆。 但當我試圖發布到Page Wall時,我收到“用戶未授權應用程序執行此操作”的錯誤

有人可以建議嗎?

要在Facebook頁面牆上發布,您需要按照以下步驟操作:

  1. 前往https://developers.facebook.com/tools/explorer
  2. 點擊“獲取訪問令牌”
  3. 在“擴展權限”選項卡下,選擇“manage_pages”和“publish_actions”,然后單擊“獲取訪問令牌”
  4. 現在在Graph API下,在Get call下,輸入“me / accounts”並點擊Submit
  5. 在下面的屏幕中,您將看到包含所有頁面和頁面訪問令牌的“數據”json對象。
  6. 獲取所需的頁面令牌訪問權限,並使用此令牌替換下面代碼中的PAGE_ACCESS_TOKEN。
  7. 將PAGE_NAME替換為您的頁面名稱(URL中的頁面名稱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"));

App Access令牌是最基本的,不允許您發布任何內容。 為了將某些內容發布到Facebook頁面(作為頁面),您需要獲取頁面訪問令牌。

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

看到這些鏈接:

順便說一下,不推薦使用REST API: https//developers.facebook.com/blog/post/616/

你也可以嘗試“客戶端令牌”(開發者設置>高級),我從來沒有使用過那個,但它可能是最簡單的解決方案。 在任何情況下,App Access令牌都是錯誤的。

確保在驗證用戶時提到的范圍還包括manage_pages 如果未在范圍中包含此錯誤,則會發生此錯誤。 請參閱

因為你從java類生成訪問令牌。 你可以從ur facebook個人資料頁面設置你需要用戶管理應用程序鏈接的權限,並獲取訪問令牌.....

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM