5
我知道如何嵌入具有特定ID的飼料。我已經做到了。現在我想要實現以下功能:如果用戶收到私人消息,它將出現在嵌入式Feed中。我認爲最好的選擇是嵌入整個「聊天窗口」,但我沒有在網絡上找到一個單一的代碼示例。我怎樣才能做到這一點?如何在我的網站上嵌入yammer私人信息?
我知道如何嵌入具有特定ID的飼料。我已經做到了。現在我想要實現以下功能:如果用戶收到私人消息,它將出現在嵌入式Feed中。我認爲最好的選擇是嵌入整個「聊天窗口」,但我沒有在網絡上找到一個單一的代碼示例。我怎樣才能做到這一點?如何在我的網站上嵌入yammer私人信息?
因爲Yammer的REST API(包括私人消息)需要通過OAuth 2.0進行身份驗證,所以您無法像使用Feed那樣真正嵌入私人消息。這意味着您必須創建一個Yammer API應用程序,它會要求用戶登錄並允許您訪問他們的消息。在其文檔here和here中描述的整體概念。
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文件,您可以通過。它包括有關消息和參與對話的用戶的信息。
你看過[Yammer API](https://developer.yammer.com/)嗎?以下是請求[私人消息]的特定頁面(https://developer.yammer.com/docs/messagesprivatejson)。 – pll33
我的確如此,但他們的文檔並沒有解釋如何使用它。他們沒有提供任何代碼片段或工作示例 –