2016-05-06 13 views
5

特定のIDを持つフィードを埋め込む方法は知っています。私はすでにそれをやりました。今私は、次の機能を実装したいと思います:ユーザーがプライベートメッセージを受信した場合、それは埋め込みフィードに表示されます。私の考えでは、「チャットウィンドウ」全体を埋め込むことが最良の選択肢でしたが、Web上で単一のコードサンプルを見つけられませんでした。どうやってやるの?yammerプライベートメッセージを私のウェブサイトに埋め込む方法は?

+1

あなたは[Yammer API](https://developer.yammer.com/)を見ましたか? [プライベートメッセージ](https://developer.yammer.com/docs/messagesprivatejson)のリクエストに関する特定のページです。 – pll33

+0

さて、私はやったが、彼らのマニュアルには正確な使い方が説明されていない。彼らはコードスニペットや実際の例を提供しませんでした –

答えて

2

YammerのREST API(プライベートメッセージを含む)はOAuth 2.0経由の認証を必要とするため、実際にはフィードのようにプライベートメッセージを埋め込むことはできません。つまり、ユーザーにログインしてメッセージにアクセスできるようにするYammer APIアプリケーションを作成する必要があります。ドキュメントherehereに記載されているその全体的な概念。

YammerにはいくつかのSDKが用意されています。そのうちの1つはJavascript SDKです。私はあなたにユーザーにログインするように尋ねることができる簡単な例を紹介した後、プライベートメッセージを表示します。これは非常に簡単な解決策ですが、私は単なる1対1の会話でそれをテストしました。

<!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ファイルです。これには、メッセージおよび会話に関与するユーザーに関する情報が含まれます。

関連する問題