Sitecore Social Connected 将不会与 Facebook 连接,因为 publish_stream 已被弃用

Posted

技术标签:

【中文标题】Sitecore Social Connected 将不会与 Facebook 连接,因为 publish_stream 已被弃用【英文标题】:Sitecore Social Connected will not connect with Facebook as publish_stream is deprecated 【发布时间】:2016-07-17 20:22:47 【问题描述】:

我正在尝试使用 Sitecore 8 (rev 5) 的 Social Connected 功能将 Social Connected 连接到 Facebook(由于预算原因,我们无法使用 Komfo)但是我遇到了一些问题。我从 Sitecore 文档站点关注 this walkthrough。

我在尝试连接 Facebook 帐户时收到此错误:

“无效范围:read_stream。此消息仅向开发人员显示。如果存在,您应用的用户将忽略这些权限。 请阅读文档以获取有效权限:https://developers.facebook.com/docs/facebook-login/permissions"

所以我继续阅读并找到了这个Stack Overflow question 从那里的信息中,我发现 Sitecore 要求 Facebook 获得的特定权限已被弃用。

从那里我将权限从 publish_stream 更改为 publish_actions,并且能够为 Sitecore 在 Facebook 中提供所需的权限。问题是 Sitecore 希望在它提供的浏览器窗口中完成此操作,因此它不承认权限是在 Facebook 中设置的,即使它们是。

然后我尝试从模板手动添加社交媒体帐户,希望手动输入所需的数据,因为它具有适当的权限。但是,在执行此操作后,Sitecore 在添加其他社交媒体帐户时开始抛出错误:

“未配置社交连接模块。 没有可用于创建帐户的应用程序的社交网络。”

实际上已配置社交连接,在进行这些更改之前,我仍然能够添加其他社交媒体帐户。重新创建应用程序解决了这个问题,但让我回到了原点。

我们将不胜感激有关如何纠正这些问题的任何想法。

【问题讨论】:

“问题是 Sitecore 希望在它提供的浏览器窗口中完成此操作” – 不太清楚你的意思。 // 也许您应该去查看/询问 Sitecore 以获取使用当前权限的更新版本。否则,不知道以后还会出现什么问题。 感谢@CBroe 的回复,我的意思是 Sitecore 为我提供了一个带有锁定链接的弹出窗口,我应该在该链接中允许 Facebook 应用程序权限。即使我在另一个窗口中授予权限,Sitecore 也不会接受已授予权限。我已经设法使用 Fiddler 拦截对 Facebook 的请求来解决这个问题,但是如果客户想要添加一个社交媒体帐户,他们将不得不经历同样的过程,这是一个问题。 我认为现代浏览器在某些情况下倾向于“锁定”弹出窗口的地址栏,这意味着它们不允许您在此处更改地址。但是,从地址栏中复制和粘贴 URL 通常可以,因此您可以将其复制到新选项卡中并进行修改。 【参考方案1】:

我设法解决了这个问题。首先,在内容编辑器中,我在 System/Social/Applications 下创建了一个 Facebook 应用程序。然后,我在系统/社交/帐户下为 LinkedIn 创建了一个社交媒体帐户,然后复制它,更改配置以适应 Facebook。

一旦我这样做了,我就可以在 Facebook 和 Twitter 上发布文字帖子。我无法让图片帖子正常工作,到了这个时候,我们放弃了这个想法。

值得注意的是,Sitecore 继续将我们推向 Komfo。它价格昂贵,本质上是放置在 Sitecore UI 中的 iframe,功能有限。还有其他工具可以为您提供类似的分析功能,而价格只是其中的一小部分。

还值得注意的是,Sitecore 8.1 中的社交连接功能似乎要求 Facebook 提供正确的权限,因此您不会遇到此问题。因为我还没有完全测试过,所以我无法保证它的实际发布功能。

【讨论】:

【参考方案2】:

幸运的是,Facebook 权限只是字符串,您可以使用reverse engineering 轻松修改它。它是为 Sitecore 7 版本完成的,但我认为同样的方法也适用于 Sitecore 8。

此外,您可以在 Sitecore 支持中创建工单,他们会为您提供此问题的修补程序。

【讨论】:

以上是关于Sitecore Social Connected 将不会与 Facebook 连接,因为 publish_stream 已被弃用的主要内容,如果未能解决你的问题,请参考以下文章

Sitecore TDS包与Sitecore包

Sitecore 8.1 rev 的 Sitecore 9.2 (002893) 等效 DLL。 151207

即使在分配 sitecore\Sitecore Client Users 角色时,广告用户也无法登录

如何安装 Sitecore 的试用版

无法通过单元测试中的 Sitecore 上下文访问 Sitecore 模拟项目(MS Fakes)

Sitecore 文件夹和 IIS 权限