如何在我的网站上嵌入yammer私信?

时间:2016-05-06 18:26:37

标签: javascript embed yammer

我知道如何嵌入具有特定ID的Feed。我已经做到了。现在,我想实现以下功能:如果用户收到私人消息,它将显示在嵌入式Feed中。我认为最好的选择是嵌入整个聊天窗口#34;但我没有在网上找到单个代码示例。我怎么能这样做?

1 个答案:

答案 0 :(得分:2)

您无法像使用Feed那样真正嵌入私人消息,因为Yammer的REST API(包括私人消息)需要通过OAuth 2.0进行身份验证。这意味着您必须创建一个Yammer API应用程序,该应用程序将要求您的用户登录并允许您访问其消息。其文档中描述的整体概念herehere

Yammer提供了几个可以使用的SDK,其中一个是Javascript SDK。我拼凑了一个简单的示例,说明如何让用户登录然后它会显示他们的私人消息。请注意,这是一个非常简单的解决方案,我只是通过一对一的对话测试它。

<!DOCTYPE HTML>
<html>
<head>
    <script type="text/javascript" data-app-id="YOUR-APP-CLIENT-ID" src="https://c64.assets-yammer.com/assets/platform_js_sdk.js"></script>
</head>
<body>
<span id="yammer-login"></span>
<div id="messages"></div>
<script>
yam.connect.loginButton('#yammer-login', function (resp) {
    if (resp.authResponse) {
      document.getElementById('yammer-login').innerHTML = 'Welcome to Yammer!';
    }
});

var msgdiv = document.querySelector("#messages");

yam.getLoginStatus(
  function(response) {
    if (response.authResponse) {
      console.log("logged in");
      var myId = response.authResponse.user_id;
      yam.platform.request({
        url: "messages/private.json",
        method: "GET",
        success: function (response) {
            console.log("The request was successful.");
            var usernames = {};
            response.references.forEach(function(ref){
                if(ref.type === "user") {
                    usernames[ref.id] = ref.full_name;
                }
            });
            response.messages.forEach(function(message){
                var msg = document.createElement("span");
                msg.innerHTML = usernames[message.sender_id] + ": " + message.body.parsed + "<br/>";
                msgdiv.appendChild(msg);
            })
        },
        error: function (response) {
            console.log("There was an error with the request.");
            console.dir(private);
        }
      });
    }
    else {
      console.log("not logged in")
    }
  }
);
</script>
</body>
</html>

来自messages/private.json API端点的响应是您可以通过的JSON文件。它包含有关消息的信息以及对话中涉及的用户。