2016-05-06 64 views
5

我知道如何嵌入具有特定ID的飼料。我已經做到了。現在我想要實現以下功能:如果用戶收到私人消息,它將出現在嵌入式Feed中。我認爲最好的選擇是嵌入整個「聊天窗口」,但我沒有在網絡上找到一個單一的代碼示例。我怎樣才能做到這一點?如何在我的網站上嵌入yammer私人信息?

+1

你看過[Yammer API](https://developer.yammer.com/)嗎?以下是請求[私人消息]的特定頁面(https://developer.yammer.com/docs/messagesprivatejson)。 – pll33

+0

我的確如此,但他們的文檔並沒有解釋如何使用它。他們沒有提供任何代碼片段或工作示例 –

回答

2

因爲Yammer的REST API(包括私人消息)需要通過OAuth 2.0進行身份驗證,所以您無法像使用Feed那樣真正嵌入私人消息。這意味着您必須創建一個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文件,您可以通過。它包括有關消息和參與對話的用戶的信息。

相關問題