Power Automate を利用して、Google News だとかの RSS を基に、気になるニュースを Yammer に投稿するフローを作って運用しています。Yammer コネクタの「投稿メッセージ」アクションを利用していたのですが、この動作に大きな不満がありました。それは、URL を含めて投稿しても、リンク先のサムネイルが表示されないという点です。

ずっと見て見ぬふりをしてきたのですが、重い腰をあげて不満を解消してみたのでメモしておきます。

Yammer コネクタの「投稿メッセージ」アクションの不満点

Yammer コネクタは気軽に利用できて便利なのですが、URL を含めてもリンク先のサムネイルが表示されないという不満点があります。

ブラウザで Yammer を開いて投稿するときには表示されるサムネイルを、Power Automate から投稿したときにも表示させたいというのが今回のチャレンジです。

SharePoint コネクタから Yammer API を利用する

調べていると、Yammer API を利用すれば、リンク先のサムネイルを含めた投稿ができそうだと分かりました。

/messagesPost.json - Yammer | Microsoft Learn
https://learn.microsoft.com/en-us/rest/api/yammer/messages-json-post

また、SharePoint コネクタの「SharePoint に HTTP 要求を送信します」アクションを利用すれば、裏技的に Yammer API を呼び出せることが分かっていたので、これらを組み合わせて実現することにしました。

なお、SharePoint コネクタから Yammer の API を呼び出せる仕様は、Microsoft がいつ無効化するか分かりません。自身で利用するときには、そうしたリスクを認識した上で利用しましょう。

API の仕様を確認する

さて、上記のリンク先を読んで API の仕様を確認すると、必ず含めなければいけいない情報は 4 つくらいあるようです。

パラメータ説明
body投稿の本文
group_id投稿先のコミュニティを指定するための ID
og_urlサムネイルを表示したいリンク先の URL
og_fetchサムネイルを表示するための値を Yammer に自動で補完してもらうかどうか。
true にしておけば、Yammer がリンク先にアクセスし OG プロトコルの情報を取得してくれる。

OG プロトコルは OGP(オープン グラフ プロトコル)と書かれることもありますが、SNS などでリンク先の情報をサムネイル表示するための仕組みです。インターネットで公開するページを作成するときに、meta タグに OGP の情報を含めておくことで、SNS などで引用されたときに目立つようになります。近ごろでは、多くのページにこの情報が埋め込まれていますので、Yammer もそうした情報を利用してサムネイルを作成するようです。

本文や URL は自分で決められるので、あらかじめ調べておかなければならないのは、投稿先のコミュニティを指定する group_id です。

Yammer コネクタで group_id を調べる

Yammer API で利用される group_id は、Yammer コネクタでも利用されている値なので、簡単に調べることができました。まずは、フローに Yammer のコネクタの「投稿メッセージ」アクションを追加し、投稿したいグループをドロップダウンから選択して適当なメッセージを投稿してみます。

これを実行してみると、グループ ID の値が取得できます。

数字をメモしておきましょう。Yammer コネクタの出番はこれで終わりです。削除します。

SharePoint コネクタで Yammer API を呼び出す

さて、必要な情報がそろったので、実際に投稿していきましょう。SharePoint コネクタの「SharePoint に HTTP 要求を送信します」アクションを追加し、つぎのように設定します。

設定項目設定値
サイトのアドレスhttps://www.yammer.com/
方法POST
URIapi/v1/messages.json
ヘッダーなし
ボディ以下の通り
{
    "body": "ブログの記事を紹介します",
    "group_id": "<グループ ID>",
    "og_url": "https://idea.tostring.jp/?p=7217",
    "og_fetch": true
}

サイトのアドレスに、カスタム値として Yammer の URL を入力できるところがポイントです。フローの編集中にエラーメッセージが表示されますが、無視して進めることができます。ボディの bodyog_url は好きに設定しましょう。group_id は、先ほど調べたグループ ID を指定します。

はい。これだけで完成です。あとは実行して動作を確認してみましょう。

動作を確認する

うまくと実行されると、Yammer につぎのような投稿が表示されました。

ちゃんとリンク先の情報が取得され、サムネイルが表示されています。実現したかった動作となり、長年の不満が解消できました。

さいごに

Power Automate から Yammer に投稿するときに、リンクのサムネイルが付くだけでかなり見やすくなりました。残念なのは、ちょっとした裏技を使わなければ実現できない点です。本当は Yammer コネクタで実装されていてほしい動作です。

いつ無効化されるか分からない裏技ですので、リスクをきちんと認識して利用可否を判断しましょう。