代表页面发布自定义Facebook操作

时间:2012-05-09 01:28:51

标签: facebook-graph-api post get custom-action facebook-page

我正在尝试代表我通过具有manage_pages权限的应用管理的Facebook页面发布操作。我可以通过以下表格的图表帖子发布一个动作:

<pageID>/<appNameSpace>:<actionName>?<objectName>=<objectURL>

但是,如果我通过以下调用查询应用程序发布的操作:

<pageID><appNameSpace>:<actionName>?access_token=<PageAccessToekn>

我收到以下错误:

{
  "error": {
    "message": "An unknown error has occurred.",
    "type": "OAuthException",
    "code": 1
   }
}

更新

如果我尝试使用以下网址发布:

<pageID>/<appNameSpace>:<actionName>?<objectName>=<objectURL>&access_token=<pageToken>

如果出现以下错误:

{"error":{"message":"(#100) The Action Type <appNameSpace>:<actionName> is not approved, so app <appID> can only publish to administrators, developers, and testers of the app.  User <pageID> is not one of those roles.","type":"OAuthException","code":100}}

我尝试代表发布的页面由应用管理员管理。我没有在facebook开发者应用程序的角色部分看到任何位置可以将facebook页面添加为管理员。有没有什么可以测试这个?是否可以代表页面发布自定义操作?

3 个答案:

答案 0 :(得分:0)

根据您发布的错误消息,您的自定义操作尚未获得Facebook批准供公众使用。据我所知,页面无法添加到测试用户列表(包括管理员和开发人员)中,因此您可能需要先让Facebook批准您的自定义操作,然后再继续。

您可以在https://developers.facebook.com/docs/opengraph/opengraph-approval/了解有关审批流程的更多信息。他们的批准概述如下:

  

由于Open Graph允许您通过拨打一个API来直接将您的应用集成到Facebook体验的所有部分,因此我们会在您的应用向所有用户发布Open Graph操作之前引入轻量级审核和批准流程。

     

这个过程很简单。只要您的应用开始使用Open Graph,您的应用的开发人员和测试人员就会立即看到所有Open Graph活动。这允许您对集成进行端到端测试。完成后,通过Dev App提交您的操作以供审核​​。在我们确认您对Open Graph的使用符合我们的标准后,我们​​将批准您的应用将您的Open Graph操作发布给所有Facebook用户。

答案 1 :(得分:0)

是的,您需要在发布到开放图表之前获得批准的开放图表操作。有关详细信息,请参阅https://developers.facebook.com/docs/opengraph/opengraph-approval/。此外,我会在您发布之前检查您是否拥有publish_actions权限,因为用户可以在授权应用程序后随时删除此权限。在您获得批准的开放图表操作后,您当然可以对其进行编辑,但在实时用户看到这些更改之前,您必须重新提交操作以供审批。这个过程需要比第一次批准更长的时间,所以我会首先解决这些要求。

答案 2 :(得分:0)

向页面,事件,群组发布操作是不可能的,也不可能将操作发布到朋友的时间轴 - 只有用户才能发布操作,并且只能发布他们自己的时间轴。

请参阅文档的Open Graph Mechanics部分,其中显示用户对象执行操作。你要做的是让一个页面采取行动 - 这是不受支持的