マストドンにメッセージを投稿する自作アクション「Post to Mastodon」

この記事の内容は古くなっています。
最新版はこちら。
マストドンにポストするワークフロー 機能全部入り

作っておいたほうがいいような気がしたので作りました。
このエントリーを書くためにマストドンのアカウントを作成したにわか未満の存在ですので、こういったワークフローに需要があるのかないのかもよくわかってません。


[Input](単・複)
Text

[Result]
トゥートのURL(投稿失敗の場合はエラーの内容が記述されたDictionary)

インポート

▼本体
https://workflow.is/workflows/9782cdad318b428bac4ea77441207881
▼OAuth認証をするワークフロー
https://workflow.is/workflows/c7993dae85a74e89b9d7d4bf370103e2

使用開始までの手続き

まずはOAuth認証をします。
以下の4つをスタンバイしてください。

  • アカウントのEmailアドレス
  • パスワード
  • インスタンスのドメイン(例 : mstdn.jp)
  • クライアント名

クライアント名というのは、Twitterにおける “Twitter for iPhone” とか “Tweetbot for iOS” とかのことです。投稿日時の右に表示されますのでできるだけかっこいい名前にしましょう。日本語も絵文字も使えます。

準備ができたらOAuth認証のワークフローを実行し、指示通りに入力していきます。
成功するとcliend_id、client_secret、access_tokenの3つがクリップボードにコピーされますので、パスワード管理アプリ等に格納してOAuth認証の完了です。


次に、トゥートするワークフロー本体の設定です。

フローの先頭あたりのTextに、アクセストークンとインスタンスのドメインを記入します。
アクセストークンをワークフローに直書きすると、セキュリティ的にはパンツを履かないでゴムの緩んだジャージだけ履いて手で押さえながらジョギングしているような状態ですので、セキュリティをマシにする処置を各自でお願いいたします。

くれぐれもアクセストークンを書き込んだままワークフローをシェアしてしまわないよう十分に気をつけてください。
流出させてしまった場合は、OAuth認証のワークフローを実行して認証解除を選択し、表示されたページでクライアントの認証を取り消してください。

使い方

Workflow内で

投稿文をRun WorkflowにInputします。

複数のアイテムがInputされた場合は改行をはさんで結合して本文とします。
500文字を超えるとエラーとなりますので、前段に文字数を確認する処理を入れておくといいかもしれません。

Workflowの外部から

workflow://run-workflow?name=Post%20to%20Mastodon&input=URLエンコードしたテキスト

こちらの方法を取る場合でも、受け入れ専用のワークフローを作ってその中でRun Workflowしたほうが使い勝手が良いと思います。

もっといろいろやりたい場合

マストドンAPIのドキュメントはこちら。
わりと何でもできそうです。
https://github.com/tootsuite/documentation/blob/master/Using-the-API/API.md

スポンサーリンク
スポンサーリンク

コメントを残す

メールアドレスが公開されることはありません。