Yammer アプリを統合して、Discourse の特定のカテゴリで新しいトピックが作成されたときに、特定の Yammer コミュニティに通知を送信しようとしています。Microsoft Teams では Chat integration プラグインで実現できましたが、Yammer では機能しません。
それに対応するプラグインが見つからないため、Webhook の設定を試みていますが、API や Webhook の初心者であるため、多数のエラーが発生しています。最新のエラーは以下の 404 エラーです。
ご助力いただければ幸いです。よろしくお願いいたします。
404 エラーは「見つかりません」を意味します。この文脈では、リモートサーバー(www.yammer.com)が URL を見つからないと報告したことを示しています。
Yammer の API ドキュメントを見ると、入力された URL は以下の形式のようです。
https://developer.yammer.com/docs/messagesid
ただし、この URL はメッセージの削除専用です。404 エラーが表示されているのは、その URL の末尾に API キーやグループ ID を追加してしまったため、その ID のメッセージが Yammer に存在しないためだと考えられます。
もし私の認識が誤っているなら訂正を歓迎しますが、Yammer の REST API は Webhooks と互換性がないと思います。そのため、プラグインやサードパーティの Webhooks サービスなしでは、この機能を実現できないでしょう。
返信ありがとうございます。この URL を使用しました。
https://developer.yammer.com/docs/messages-json-post
そして、特定の Yammer コミュニティを末尾に追加しようとしましたが、その形式は正しくありませんでした。
API を通じてはどうでしょうか?両方のアプリ間で通信することは可能でしょうか?Discourse で GET リクエストを送信して新しいトピックを取得し、その後、Yammer コミュニティに POST リクエストを送信するといった方法です。
この分野の完全な初心者である私ができることはこれだけです。
編集:また、この手順に従って、Chatroom 統合プラグインで新しいプロバイダーの作成を試みていますが、それが可能かどうか確信が持てません。
問題は、本質的にこれらが異なる2つの言語であることです。Yammer REST API は、Yammer チャットを他のシステムに統合するために設計された独自 API のようです。例えば、自社のモバイルアプリ内にチャット機能を組み込む場合などが該当します。
一方、Webhooks は、情報(一般的には状態の変更、例えば Discourse での新しいトピックの作成など)を通知が必要な場所に配信するための、半標準的だが完全な標準ではない別個の仕組みです。受信側(この場合は Yammer)は、送信アプリケーション(Discourse)が定義した情報形式を理解する必要があります。つまり、受信側は、同じ Webhook 形式を使用する特定のアプリケーションまたはアプリケーション群からの情報を明示的に受け取ることをサポートしている必要があります。
私の知る限り、Yammer はその機能を提供していないため、Webhooks を直接利用することはできません。必要な Yammer API の部分を実装し、所望のイベントに対してメッセージを送信するプラグインを作成することは可能です。目的や予算によっては、Marketplace に投稿することで、この作業を依頼できる人を見つけることもできるかもしれません。
あるいは、Discourse の Webhooks と Yammer の両方をサポートするサービスを利用して、橋渡し役とする方法もあります。Zapier はそのようなサービスの一例ですが、Yammer をサポートしているかどうかは確認できていません。最近ここで議論されていた別のサービスもあり、そのスタッフ数名は非常に反応が良く、親切でした。ただし、そのサービス名を思い出せず、現時点で見つけることができていません。