在Smooch中从Web Messenger发送消息

时间:2018-01-11 16:58:51

标签: javascript telegram slack smooch

当我从https://github.com/smooch/smooch-web/

调用代码时,我遇到了以下问题
smooch.4.5.4.min.js:5 Failed to execute 'postMessage' on 'DOMWindow': The target origin provided ('file://') does not match the recipient window's origin ('null').

另外,下面的代码就是我遇到这个问题的方式。

<!DOCTYPE html>
<html>
<head>
    <link href='https://fonts.googleapis.com/css?family=Open+Sans' rel='stylesheet' type='text/css'>

    <!-- Trecho 1: adicionar antes do fim do head -->
    <script>
        ! function(e, n, t, r) {
            function o() {
                try {
                    var e;
                    if ((e = "string" == typeof this.response ? JSON.parse(this.response) : this.response).url) {
                        var t = n.getElementsByTagName("script")[0],
                            r = n.createElement("script");
                        r.async = !0, r.src = e.url, t.parentNode.insertBefore(r, t)
                    }
                } catch (e) {}
            }
            var s, p, a, i = [],
                c = [];
            e[t] = {
                init: function() {
                    s = arguments;
                    var e = {
                        then: function(n) {
                            return c.push({
                                type: "t",
                                next: n
                            }), e
                        },
                        catch: function(n) {
                            return c.push({
                                type: "c",
                                next: n
                            }), e
                        }
                    };
                    return e
                },
                on: function() {
                    i.push(arguments)
                },
                render: function() {
                    p = arguments
                },
                destroy: function() {
                    a = arguments
                }
            }, e.__onWebMessengerHostReady__ = function(n) {
                if (delete e.__onWebMessengerHostReady__, e[t] = n, s)
                    for (var r = n.init.apply(n, s), o = 0; o < c.length; o++) {
                        var u = c[o];
                        r = "t" === u.type ? r.then(u.next) : r.catch(u.next)
                    }
                p && n.render.apply(n, p), a && n.destroy.apply(n, a);
                for (o = 0; o < i.length; o++) n.on.apply(n, i[o])
            };
            var u = new XMLHttpRequest;
            u.addEventListener("load", o), u.open("GET", "https://" + r + ".webloader.smooch.io/", !0), u.responseType = "json", u.send()
        }(window, document, "Smooch", "<APP_ID>");
    </script>
</head>

<body>
    <div class="main-content">
        <h1>
            Página Teste
        </h1>
    </div>

    <script>

        Smooch.init({
            appId: '<APP_ID>'}).then(function() {
            // Your code after init is complete

        });

    </script>

</body>

当我从松弛或电报输入消息时,消息到达网络信使。但是,当我从web messenger输入消息时,它不会发送电报和松弛。

我有三个集成:电报,冗长和网络信使。

请帮忙解决这个问题?

1 个答案:

答案 0 :(得分:1)

摆脱错误

smooch.4.5.4.min.js:5 Failed to execute 'postMessage' on 'DOMWindow': The target origin provided ('file://') does not match the recipient window's origin ('null')

你需要从服务器提供你的html文件,试试类似Python的simpleHTTPServer(或你喜欢的任何东西)

python -m SimpleHTTPServer 8000

然后导航到http://localhost:8000

现在,让我们谈谈从频道中得到什么。 Slack是一个业务系统,可用于响应从Telegram和Web Messenger发送消息的用户。一旦用web信使解决了上述问题,消息就会传递给Slack。

我想强调的是,Telegram和网络信使与Slack作为一个渠道根本不同。电报和网络是企业客户可以用来与企业交谈的最终用户渠道。该公司使用Slack接收这些消息并回复他们的客户。