Facebook publish_action 权限不适用于发帖

Posted

技术标签:

【中文标题】Facebook publish_action 权限不适用于发帖【英文标题】:Facebook publish_action permission not working for posting 【发布时间】:2011-12-26 04:28:28 【问题描述】:

目前我可以使用我的一些网页的 objectids 将新闻提要更新发布给喜欢这些页面的 facebook 用户。

现在我正在尝试测试新的打开图表和自定义操作以执行相同的操作;向在我的网站上执行特定操作的用户发布更新。但是,即使我的应用程序获得了 publish_actions 权限,并使用我的 facebook 帐户和一些虚拟测试用户帐户用于我的应用程序(我知道在发布时间线之前,只有开发人员和测试用户可以使用所述权限),当我尝试发布时我收到此错误消息: ""error":"message":"(#200) Requires extended permission: publish_actions","type":"OAuthException"".

我还将我的应用类型更改为游戏,以便我可以正确地从身份验证对话框获得 publish_actions 权限。

有什么想法可以帮助我解决这个问题吗?还是我必须等到时间线发布后才能正确测试新的开放图发布?

编辑:发送的请求包含这些参数;

to: https://graph.facebook.com/feed
["access_token": "given access token", 
"message": "post message", 
"caption": "post caption", 
"picture":"picture url", 
"link": "link to post", 
"description": "post description", 
"ids": "object ids separated by commas"]

Edit2:我通过添加到时间线按钮请求权限:

<fb:add-to-timeline show-faces="true" mode="button" perms="offline_access,publish_actions,publish_stream"></fb:add-to-timeline>

【问题讨论】:

我的意思是你请求权限的代码。 见下面的链接:***.com/questions/33030007/… 【参考方案1】:

我最近遇到了这个问题,我成功解决了。

publish_actions 是 Facebook 必须手动批准应用使用的范围。需要在应用程序的设置页面上开始提交,并提供您的应用程序的详细描述和演示。他们会在人工测试人员检查完应用后大约一周内做出答复。

之后你的方法很有效。

【讨论】:

我已经生成了签名的 APK,但我无法使用 publish_actions 分享帖子,所以我需要手动请求他们批准吗?它说“在提交之前完成此项目的注释。” ? 是的,您需要请求手动批准,还需要附上一些有关您的应用/网站的屏幕截图,以便他们知道您希望在什么情况下以用户名共享。我不确定,但我想您还需要附上描述用例的截屏视频。 您知道他们需要多长时间才能批准吗?有记录吗? 我没有在文档中找到它,但我的经验是,他们会在 2-4 个工作日内回复。【参考方案2】:

我知道发布答案可能为时已晚[但可能对其他人有帮助],但截至 2014 年,如果您想向用户发布任何内容[除了应用注册开发者]时间线,您需要 Facebook 许可即应用需要提交审批 请参考以下链接。 1) https://developers.facebook.com/docs/facebook-login/permissions/v2.0#review 2) https://developers.facebook.com/docs/apps/review/ 3)https://developers.facebook.com/docs/facebook-login/permissions/v2.0. 您可以检查它是否位于概述部分的正下方。这已经用最新版本的 SDK 验证了

【讨论】:

所有应用开发者都可以发帖吗?还是只有应用程序的管理员?从应用程序的管理员帐户中,我添加了两个开发者帐户;我无法使用开发者帐户发帖,但我可以使用管理员帐户发帖...?是这样吗? 所有开发者都可以发帖,确保他们已接受邀请[一旦您添加他们,Facebook 就会向他们发送邀请],作为替代解决方法,您也可以将他们添加为测试人员 我添加了一封来自管理员的开发者电子邮件。并且开发者可以从他的帐户中看到应用程序,他可以在应用程序的角色部分看到自己被列为开发者。但是我无法使用开发人员帐户发布,尽管我可以使用管理员帐户发布...我错过了什么...?你能帮帮我吗.. 如果您能够看到他们注册为开发者,那么他们必须能够使用发布、获取数据等应用功能,只是为了尝试一下[可能不是实际解决方案] 请选择将向公众展示应用程序的选项显示为“是”,作为一种解决方法,您可以创建一个测试应用程序[原始应用程序的克隆]并尝试一下 它正在工作..我使用了错误的 App-Id..我的帐户中有很多测试应用程序..我的错。因此,如果他们是您的朋友并且他们必须接受您的邀请,您可以从管理员帐户为您的应用添加测试人员/开发人员。然后所有测试人员/开发人员都可以使用 publish_actions 权限。【参考方案3】:

您必须按照 facebook 标准应用程序安装流程安装应用程序才能修复该错误!!

我刚刚这样做了,错误消失了!!

【讨论】:

facebook标准应用安装流程是什么意思?【参考方案4】:

我怀疑你没有正确地请求许可。这让我疯狂了好几个小时。尽管我正确地请求了许可并且它似乎通过了身份验证,但实际上并未授予许可,因为我没有正确设置应用程序以打开图形。

当请求publish_actions 时,Facebook 会显示一个预览屏幕,显示您的应用将在其时间轴上创建什么样的聚合。

换句话说,如果预览不起作用,Facebook 不会请求许可,因此您的请求是徒劳的。 Facebook 没有在文档中明确说明这一点,但一切都需要在 Facebook 上与您的应用完美设置才能正常工作。

    advanced settings of the app 中启用Enhanced Auth Dialong 确保在open graph 部分中至少设置了一个action 和一个object 对于每个action,您必须设置aggregation

如果您不执行所有这些步骤,则无法进行预览,因此 Facebook 无论如何都不会请求许可。

【讨论】:

+1!如果我不得不依赖 facebook 的文档,我将一事无成。 这个答案还有效吗?我在 Apps + Appid + Permissions 中设置了操作,并将“publish_actions”添加到“User & Friend Permissions”字段中......虽然不确定它是否不应该是“Extended Permissions:”......跨度> 好久没搞这个了。 LMK 如果它改变了,我会更新这个答案(或者随时发布一个新答案。) 这行的意思 确保在打开的图形部分中至少设置了一个操作和一个对象”和“对于每个操作,您必须设置一个聚合”。我怎么能这样做? 如何设置聚合?【参考方案5】:

目前publish_actions 仅适用于您的应用程序的测试用户和开发人员(或者,如果您的应用程序属于“游戏”类别,则用于发布分数和成就) - 除了您的测试人员之外,无法发布 Open Graph 对象和操作应用程序 - API 仍处于测试阶段

[edit] 如果您使用添加到时间线按钮,您可能需要在应用的高级设置中启用“增强的身份验证对话框”迁移 [/edit]

【讨论】:

谢谢,但我是这个应用程序的开发人员,我正在用我自己的 fb 帐户尝试这个并测试分配给该应用程序的用户。根据文档和您的回答;即使处于测试阶段,我也应该能够在我的新闻提要或测试人员的新闻提要上发帖。 更新了我的答案,我错过了您使用添加到时间线按钮的事实 我启用了增强的身份验证对话框,添加了一个时间线按钮,但它仍然不适合我。原贴有解决办法吗? 我猜它在 2018 年更过时了?因为现在您必须通过一大堆设置才能请求权限

以上是关于Facebook publish_action 权限不适用于发帖的主要内容,如果未能解决你的问题,请参考以下文章

Android Facebook 墙贴 - publish_action 权限未授权

验证 Facebook publish_actions 权限时遇到问题

Facebook SDK 3.8:未返回权限 publish_actions

Facebook 有 publish_actions 但仍然抛出 (#100) 没有权限为某些用户发布视频

Facebook publish_action权限不适用于发布

Facebook - 需要 publish_actions 权限,无法提交应用以供审批