2016-05-06 38 views
5

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?

+1

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

+0

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 –

Odpowiedz

2

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.