370.5. メッセージの消費


Yammer コンポーネントは、メッセージを消費するためのいくつかのエンドポイントを提供します。

URI説明
 yammer:messages?[options]

ユーザー (API 呼び出しを行うためにアクセストークンが使用されている) の Yammer ネットワーク内のすべてのパブリックメッセージ。Yammer Web インターフェイスのすべての会話に対応します。

 yammer:my_feed?[options]

フォロー中とトップの会話の間で行った選択に基づく、ユーザーのフィード。

yammer:algo?[options]

上位の会話に対応するユーザーのアルゴリズムフィード。これは、大多数のユーザーが Yammer Web インターフェイスに表示するものです。

yammer:following?[options]

ユーザーがフォローしている人々、グループ、およびトピックに関する会話であるフォロー中フィード。

yammer:sent?[options]

ユーザーが送信したすべてのメッセージ。

yammer:private?[options]

ユーザーが受信したプライベートメッセージ。

yammer:received?[options]

Camel 2.12.1: ユーザーが受信したすべてのメッセージ。

370.5.1. メッセージの形式

デフォルトでは、すべてのメッセージが org.apache.camel.component.yammer.model パッケージで提供される POJO モデルに変換されます。yammer からの元のメッセージは JSON です。メッセージを消費および生成するすべてのエンドポイントに対して、Messages オブジェクトが返されます。たとえば、次のようなルートを取ります。

from("yammer:messages?consumerKey=aConsumerKey&consumerSecret=aConsumerSecretKey&accessToken=aAccessToken")
    .to("mock:result");

そして、yammer サーバーが返すとしましょう:

{
    "messages":[
        {
            "replied_to_id":null,
            "network_id":7654,
            "url":"https://www.yammer.com/api/v1/messages/305298242",
            "thread_id":305298242,
            "id":305298242,
            "message_type":"update",
            "chat_client_sequence":null,
            "body":{
                "parsed":"Testing yammer API...",
                "plain":"Testing yammer API...",
                "rich":"Testing yammer API..."
            },
            "client_url":"https://www.yammer.com/",
            "content_excerpt":"Testing yammer API...",
            "created_at":"2013/06/25 18:14:45 +0000",
            "client_type":"Web",
            "privacy":"public",
            "sender_type":"user",
            "liked_by":{
                "count":1,
                "names":[
                    {
                        "permalink":"janstey",
                        "full_name":"Jonathan Anstey",
                        "user_id":1499642294
                    }

                ]

            },
            "sender_id":1499642294,
            "language":null,
            "system_message":false,
            "attachments":[

            ],
            "direct_message":false,
            "web_url":"https://www.yammer.com/redhat.com/messages/305298242"
        },
        {
            "replied_to_id":null,
            "network_id":7654,
            "url":"https://www.yammer.com/api/v1/messages/294326302",
            "thread_id":294326302,
            "id":294326302,
            "message_type":"system",
            "chat_client_sequence":null,
            "body":{
                "parsed":"(Principal Software Engineer) has [[tag:14658]] the redhat.com network. Take a moment to welcome Jonathan.",
                "plain":"(Principal Software Engineer) has #joined the redhat.com network. Take a moment to welcome Jonathan.",
                "rich":"(Principal Software Engineer) has #joined the redhat.com network. Take a moment to welcome Jonathan."
            },
            "client_url":"https://www.yammer.com/",
            "content_excerpt":"(Principal Software Engineer) has #joined the redhat.com network. Take a moment to welcome Jonathan.",
            "created_at":"2013/05/10 19:08:29 +0000",
            "client_type":"Web",
            "sender_type":"user",
            "privacy":"public",
            "liked_by":{
                "count":0,
                "names":[

                ]

            }
        }
        ]

    }

Camel はそれを 2 つの Message オブジェクトを含む Messages オブジェクトにマーシャリングします。以下に示すように、必要な情報を簡単に取得できる豊富なオブジェクトモデルがあります。

Exchange exchange = mock.getExchanges().get(0);
Messages messages = exchange.getIn().getBody(Messages.class);

assertEquals(2, messages.getMessages().size());
assertEquals("Testing yammer API...", messages.getMessages().get(0).getBody().getPlain());
assertEquals("(Principal Software Engineer) has #joined the redhat.com network. Take a moment to welcome Jonathan.", messages.getMessages().get(1).getBody().getPlain());

とはいえ、このデータを POJO にマーシャリングするのは無料ではないため、必要な場合は、useJson=false オプションを URI に追加して、純粋な JSON の使用に戻すことができます。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.