takataka430’s blog

.NET系を中心に勉強したことのまとめを書きます

Power Automateを使ってTwitter予約投稿機能ができるか考えてみた

やりたいこと

Twitterで特定の時刻に投稿を行うことができるようにしたい。   
  

実現方法

Twitterの標準機能にはないので、Power Automateを使います。

docs.microsoft.com

Twitterと連携する機能があるので、今回はこちらを利用して予約投稿を実現してみたいと思います。   
  

作成したワークフロー

全体の流れは以下の通りです。 f:id:takataka430:20191229101832p:plain 1つずつ見ていきましょう。   
  

1. トリガー

モバイルのFlowボタンのトリガーを使用します。 f:id:takataka430:20191230061628p:plain ツイート本文は「テキスト」、ツイートする日付は「日付」、日時はそれぞれ数字で入力を行います。
  
  

2.変数の初期化

「変数を初期化する」アクションを使用します。 f:id:takataka430:20191230062640p:plain

addMinutes(addHours(formatDateTime(triggerBody()['date'],'yyyy-MM-dd HH:mm'),triggerBody()['number_2']),triggerBody()['number_3'])

それぞれの変数の意味は以下の通りです。
triggerBody()['date']→トリガーアクションの「ツイートする日付」
triggerBody()['number_2']→トリガーアクションの「時」
triggerBody()['number_3']→トリガーアクションの「分」
formatDatetime,addHours,addMinutesについては以下のドキュメントを参考にしてください。

docs.microsoft.com   
  

3.タイムゾーンの変換

f:id:takataka430:20191231164244p:plain 基準時間は2.で作成した変数ツイート時刻(JST)を使います。
書式はこの形式にしないとエラーになってしまうのでこうしています。
また、Power Automateは時刻をUTCの時刻として認識するようなので、日本時間をUTCに変換します。   
  

4.延期期限

f:id:takataka430:20191231164640p:plain 延長期限では3.で作成した変換後の時間に設定します。   
  

5.ツイート

f:id:takataka430:20191231164945p:plain 最後にツイートです。1.で入力したツイート内容を投稿します。


これで完了です!あとはPower AutomateのWEB画面、またはモバイルアプリから入力すれば、設定した時間にツイートを予約することができます。是非試してみてください!