Wiem, jak osadzić plik danych, który ma określony identyfikator. Już to zrobiłem. Teraz chciałbym wdrożyć następującą funkcjonalność: jeśli użytkownik otrzyma prywatną wiadomość, pojawi się w osadzonym pliku danych. Najlepszą opcją byłoby, moim zdaniem, osadzenie całego "okna czatu", ale nie znalazłem ani jednej próbki kodu w sieci. Jak mogę to zrobić?Jak osadzić prywatne wiadomości yammer na mojej stronie?
Odpowiedz
Nie można tak naprawdę osadzać prywatnych wiadomości, tak jak w przypadku źródeł, ponieważ interfejsy API REST usługi Yammer (w tym prywatne wiadomości) wymagają uwierzytelniania za pośrednictwem protokołu OAuth 2.0. Oznacza to, że musisz utworzyć aplikację Yammer API, która poprosi użytkowników o zalogowanie się i umożliwi dostęp do ich wiadomości. Ogólna koncepcja opisana w ich dokumentacji here i here.
Yammer udostępnia kilka zestawów SDK, z których jednym jest pakiet JavaScript SDK. Później przedstawiłem prosty przykład tego, jak możesz poprosić użytkowników o zalogowanie, a następnie wyświetli ich prywatne wiadomości. Pamiętaj, to bardzo proste rozwiązanie, przetestowałem je w pojedynczej rozmowie jeden na jeden.
<!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>
Odpowiedź z messages/private.json
API końcowym jest plik JSON, które można przejść. Zawiera informacje na temat wiadomości i użytkowników biorących udział w rozmowie.
Czy obejrzałeś [interfejs API Yammer] (https://developer.yammer.com/)? Oto konkretna strona na żądanie [prywatne wiadomości] (https://developer.yammer.com/docs/messagesprivatejson). – pll33
Cóż, zrobiłem, ale ich dokumentacja nie wyjaśnia dokładnie, jak z niego korzystać. Nie dostarczyli żadnego fragmentu kodu ani przykładowego przykładu –