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) 没有权限为某些用户发布视频