Symphony嵌入式聊天模块无法正常工作

时间:2017-12-18 18:18:11

标签: javascript

我已经在公司Symphony聊天系统上设置了一个帐户,并且已经提供了一个子域(xxx.symphony.com)和一个streamId(我通过登录聊天室,点击日期戳来找到它消息并查看“消息状态”窗格)。

我一直在关注Embedded Chat Module - Direct iFrame Rendering的说明,目的是将Symphony聊天嵌入到网页中。

我已经在我的网页上添加了一个iFrame,其中包含相应的子域名和streamId。

当页面加载时,我收到很多Javascript错误:

TypeError: Cannot read property 'sandbox' of undefined
...
TypeError: this.account.getTheme is not a function
...
TypeError: Cannot read property 'getExtension' of undefined

r {message: "Internal Server Error", name: "HTTPError", stack: "Error↵    at new r (https://<MY SUBDOMAIN>.symphony.com…s?4a001d68050fb0fd4c0d:85:984)↵    at <anonymous>", lifecycle: {…}}
lifecycle
:
{res: {…}, req: {…}}
message
:
"Internal Server Error"
name
:
"HTTPError"
stack
:
"Error↵    at new r (https://<MY SUBDOMAIN>.symphony.com/embed/bundle.js?4a001d68050fb0fd4c0d:114:11278)↵    at r (https://<MY SUBDOMAIN>.symphony.com/embed/bundle.js?4a001d68050fb0fd4c0d:171:606811)↵    at a (https://<MY SUBDOMAIN>.symphony.com/embed/bundle.js?4a001d68050fb0fd4c0d:85:72778)↵    at a._settlePromiseFromHandler (https://<MY SUBDOMAIN>.symphony.com/embed/bundle.js?4a001d68050fb0fd4c0d:85:46184)↵    at a._settlePromise (https://<MY SUBDOMAIN>.symphony.com/embed/bundle.js?4a001d68050fb0fd4c0d:85:46984)↵    at a._settlePromise0 (https://<MY SUBDOMAIN>.symphony.com/embed/bundle.js?4a001d68050fb0fd4c0d:85:47683)↵    at a._settlePromises (https://<MY SUBDOMAIN>.symphony.com/embed/bundle.js?4a001d68050fb0fd4c0d:85:49010)↵    at i._drainQueue (https://<MY SUBDOMAIN>.symphony.com/embed/bundle.js?4a001d68050fb0fd4c0d:85:2790)↵    at i._drainQueues (https://<MY SUBDOMAIN>.symphony.com/embed/bundle.js?4a001d68050fb0fd4c0d:85:2851)↵    at drainQueues (https://<MY SUBDOMAIN>.symphony.com/embed/bundle.js?4a001d68050fb0fd4c0d:85:984)↵    at <anonymous>"
__proto__
:
Error

500错误:

https://<MY SUBDOMAIN>.symphony.com/webcontroller/api/v3/im/session?threadid=<MY THREAD ID> 500 (Internal Server Error)

有谁知道我在这里做错了什么以及如何解决它?

似乎Javascript可能无法正确加载,因此可能存在某种跨域问题和/或我需要的令牌。

(注意:我很快会联系Symphony对此的支持,如果我找到解决方案,我一定会发布。)

1 个答案:

答案 0 :(得分:0)

我不确定您使用了什么iframe输入,如果您找到了解决方案,那么我确定您使用了。

要提供帮助并提供示例,请参见下文。

iframe嵌入式聊天模块(ECM):

<html><head><title>Public</title>

</head><body>
<iframe src="https://<privatePod>.symphony.com/embed/?streamId=<streamID in base64>&amp;module=room&amp;mode=light&amp;font=xsmall" height="800" width="100%"></iframe>
</body></html>

要获取URLSafe Base64会话ID:

  • 用下划线/替换正斜杠_
  • 用减号+代替加号-
  • 忽略任何结尾的等号=

例如,URLSafe Base64编码

lX1hwfmQ+AK/k/a/BB0y2n///q2+0KfbdA==

转换为

lX1hwfmQ-AK_k_a_BB0y2n___q2-0KfbdA