Facebook应用程序在Facebook页面上发布

本文关键字:Facebook 应用程序 | 更新日期: 2023-09-27 17:57:53

我希望我的facebook应用程序在我的facebook页面中创建事件。每个使用我的应用程序的人都可以将事件发布到我的facebook页面,所以我不想给每个人管理员或贡献者,我希望我的网络应用程序(appId+密码)有权发布

当我尝试这个:

client.AccessToken = "{app-id}|{app-secret}";
dynamic result = client.Post("/{page-id}/events", new{
                    name = "testEvent",
                    start_time = "2014-04-11T19:00:00-0700",
                    end_time = "2014-04-11T20:00:00-0700",
                }
);

我收到这个错误

{
  "error": {
    "type": "Exception", 
    "message": "You must be an admin of the specified page to perform the requested action.", 
    "code": 1373019
  }
}

知道吗?

Facebook应用程序在Facebook页面上发布

您应该执行以下操作:

  1. 通过/me/accounts端点获取页面访问令牌(已记录用户必须是此页面的管理员)。您可以通过https://developers.facebook.com/tools/explorer?method=GET&path=me%2帐户请确保您已事先请求了manage_pagescreate_eventpublish_stream权限。

  2. 将您的短命页面访问令牌交换为不过期的页面访问令牌,如下所述:从服务器获得发布到Facebook粉丝页面的持久代币的步骤是什么

  3. 在应用中使用新生成的页面访问令牌

您正在使用的令牌称为应用程序访问令牌,根据/{page-id}/events的文档,它显示:

具有create_event权限的页面需要页面访问令牌

现在获取页面访问令牌-

  1. 首先,您需要通过添加权限来重新验证用户(通过再次调用facebook登录/auth):

    • manage_pages,获取页面访问令牌所必需
    • create_event,创建事件所必需
  2. 然后打电话:

    'GET /{page-id}?fields=access_token,您将获得页面访问令牌作为响应。

使用步骤2中生成的令牌并拨打您正在进行的呼叫,那么它将是成功的。

(如果需要,您还可以扩展此永远不会过期的页面访问令牌-请参阅此处)
在此处了解有关访问令牌的更多信息。