top of page
  • Akira Mizuno

XのツイートをTeamsに投稿するフローの作成~1.序章/Power Automate

更新日:6月2日

1.はじめに

 

クラウドサービスや生成AIの最新の技術動向やリリース情報を把握する方法として、ニュースサイトやまとめサイトを巡回したり、オンラインセミナーを視聴したり、あるいはRSSやXのツイートをチェックする等が考えられます。

ただ、弊社の場合ですと人員や時間が限られていますので、あまり情報の幅を広げすぎると、特定のサービスに偏ったり、取りこぼしがあったりします。


先日、あるChrome拡張機能の名称変更の問い合わせをお客様から受けて、あれ?いつの間に?となったことから、もっと効率的に(手を抜いて)幅の広い情報収集を行わなければならないと考えるようになりました。


例えば、Xのツイートには、ざっと確認できる程度の簡潔な文章が多く、目を引きやすい画像が含まれることもあります。 XのAPIアクセスが有料化されてからそれを利用するハードルが高くなった感じを受けますが、そのようなツイートの中で目的に合う情報を、TeamsやSlack等の日常的に使用するコミュニケーションツールに集約すると役立ちそうです。


少し前にPower Automateの勉強を始めたこともあり、XのAPIを使用して、ツイートをTeamsのチャネルに投稿するフローを作成してみることにしました。

Power Automateでは目的に近いテンプレートが予め用意されているので、すぐに利用できると思いましたが…

今回の記事では、導入を試すまでの要点のみ記載しています。

(動くまでには至りませんのでご了承ください。)


2.X APIの料金プラン

 

X APIを利用しますので、そのプランを選択します。

X Developer Platform(以下のURL)の「Find the right access for you」欄を確認して、X APIの料金をチェックします。Freeプランはツイートを取得できない(ポストのみ可能な)ので、今回の目的を考えるとBasic以上の有料プランが必要です。 X API | Products | Twitter Developer Platform 最近は円安ということもあり、一か月$100はちょっと抵抗がありますね…

ですが、勇気を出してBasicプランを申し込みました。


プランの補足

前出の料金のURLで各プランの違いが記載されていますが、API毎でも細かい違いがあります。

例えば、過去のツイートを検索するAPIに、すべてを検索する「Full-archive search」と、直近の7日間までを検索できる「Recent Search」がありますが、「Full-archive search」は以下のようにBasicプランは利用できません。

Full-archive search The v2 full-archive search endpoint is only available to Projects with Pro access and Enterprise access. The endpoint allows you to programmatically access public Posts from the complete archive dating back to the first Post in March 2006, based on your search query.

Proプランとは価格差がありますので、本記事ではBasicプランをターゲットにします。Proプラン(一か月$5,000!)を購入する勇気はありませんでした…


ちなみに、X Developer Potalの「Products」メニューからプラン別に利用できる機能詳細や制限を確認できて非常に便利です! 例えば、Basicプランのツイートの検索(Recent Search)は以下のように表示されます。

Basicプランのツイート検索API


3.コネクタの設定

 

細かい手順は省略しますが、Power Automateを開いて、テンプレートのメニューを選択します。検索欄でTwitterと入力すると目的に近いテンプレートが表示されるので、それを選択します。

Power Automate Xテンプレートフロー

Power Automateのドキュメントを見ながらXコネクタの設定を進めます。

ただ、以下のような記載があり、???となりますがそのまま続行します。

コネクタは現在、1 つの認証の種類 (独自のアプリケーションを導入する) のみをサポートしています。 2023 年 6 月の時点では、有料の Enterprise 層アプリケーションが必要です。 ただし、Twitter の価格ポリシーは今後も変更される可能性があります。

混乱しやすいのは、接続で使用するコンシューマーキーと顧客シークレットの値だと思います。

OAuth クライアント アプリケーションを作成したときに表示される「OAuth 2.0 Client ID and Client Secret」ではなく、「Consumer Keys」の「API Key and API Key Secret」の値を設定します。


正しい値を設定すると次のようなアクセス許可画面が表示されるので、連携アプリを認証します。

Xコネクタの接続許可

4.トリガーのエラー

 

監視するハッシュタグやTeamsのチャネルを設定すると完了です。

ところが、いつまでたってもメッセージが投稿される気配はありません。

フローチェッカーでエラーが表示されているので、「トリガーに移動する」のリンクをクリックして確認します。


エラーの詳細は以下のようになっています。

You currently have access to a subset of Twitter API v2 endpoints and limited v1.1 endpoints (e.g. media post, oauth) only. If you need access to this endpoint, you may need a different access level. You can learn more here: https://developer.twitter.com/en/portal/product clientRequestId: xxxxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx serviceRequestId: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Proプランが必要なAPIにアクセスを試みたところ、次のようなエラーメッセージが表示されました。

上記のメッセージが表示されるのは、X APIの旧バージョン(1.1)を使用しているようです。

"detail":"When authenticating requests to the Twitter API v2 endpoints, you must use keys and tokens from a Twitter developer App that is attached to a Project. You can create a project via the developer portal.","registration_url":"https://developer.twitter.com/en/docs/projects/overview","title":"Client Forbidden","required_enrollment":"Appropriate Level of API Access","reason":"client-not-enrolled","type":"https://api.twitter.com/2/problems/client-forbidden"}

あれこれ調べましたが、BasicプランでこのXコネクタを使用することを諦めました。


5. おわりに

勇気を振り絞って$100支払った後です。

Power Automate/Logic Appsを使用して、どこまでそのような機能を実装できるかチャレンジしてみることにしました。


次回の記事では、設計段階から考えてみたいと思います。



※2024年5月現在の情報をもとに記事を作成しています。本記事を参考にする場合には、念のため最新の情報をご確認ください。


Comments


Commenting has been turned off.
bottom of page