2016-05-06 19 views
5

Belirli bir kimliğe sahip bir feed'in nasıl yerleştirileceğini biliyorum. Çoktan yaptım. Şimdi aşağıdaki işlevleri uygulamak istiyorum: Bir kullanıcı özel bir mesaj aldığında, yerleşik bir beslemede görünecektir. Benim düşüncemdeki en iyi seçenek, tüm "sohbet penceresini" gömmek olurdu, ancak web üzerinde tek bir kod örneği bulamadım. Bunu nasıl yapabilirim?Web sitemde yammer özel mesajları nasıl eklenir?

+1

[Yammer API] 'ya (https://developer.yammer.com/) baktınız mı? İşte [özel mesajlar] talep eden belirli bir sayfa var (https://developer.yammer.com/docs/messagesprivatejson). – pll33

+0

Peki ben yaptım, ama belgeleri nasıl kullanıldığını tam olarak açıklamıyor. Kod snippet'i veya çalışma örneği sağlamadılar. –

cevap

2

Feed'ler gibi özel iletileri gerçekten yerleştiremezsiniz, çünkü Yammer'in REST API'leri (özel iletiler dahil) OAuth 2.0 üzerinden kimlik doğrulaması gerektirir. Bu, kullanıcılarınızın giriş yapmasını ve mesajlarına erişmenize izin vermenizi isteyen bir Yammer API uygulaması oluşturmanız gerektiği anlamına gelir. Bu dokümanların genel konseptleri here ve here belgelerinde açıklanmıştır.

Yammer, kullanabileceğiniz birkaç SDK sağlar; bunlardan biri Javascript SDK'sidir. Kullanıcılardan oturum açmasını nasıl isteyeceğinize dair basit bir örnek oluşturdum ve özel mesajlarını gösterecek. Dikkat et, bu çok basit bir çözüm, sadece tek bire bir konuşmada test ettim.

<!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 bitiş gelen yanıt geçmeniz bir JSON dosyasıdır. Mesaj ve konuşmaya dahil olan kullanıcılar hakkında bilgi içerir.

İlgili konular