使用RestFB api发布到Facebook页面墙

Alv*_*vin 4 java facebook restfb facebook-graph-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();
}
}
Run Code Online (Sandbox Code Playgroud)

有了这个,我可以使用appID和appSecret发布到用户墙.但当我试图发布到Page Wall时,我收到"用户未授权应用程序执行此操作"的错误

有人可以建议吗?

suf*_*waz 6

要在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"));