FileMaker から Akkoma へ投稿する

Hitoshi Arakawa | 2024/01/26 Fri 04:01

FileMaker から Akkoma へ直接投稿できれば bot を自由に作れるようになる。

Akkoma は Pleroma のフォークであるため、実際は Pleroma と同じ方法でできた。

環境:macOS Ventura 13.5(英語環境)、Claris FileMaker Pro 20.3.1.31

(1)以下のサイトを使えば、Access Token が生成できる。

Access Token Generator for Pleroma API
https://tools.splat.soy/pleroma-access-token/

  • Instance URL: {Akkoma の URL}
  • Client Name: {適当な名前}
  • Web site: {空欄でいい}
  • Scope: write

投稿するだけなので Scope は write とした。

Publiesh access_token を押せば認証画面が出るので、「APPROVE」を押す。すると Result 欄に access_token、client_id、client_secret が表示されるのでメモしておく。

(2)試しにコマンドラインから投稿してみよう。

$ curl -X POST -d 'status=これはテストです。' -d 'visibility=private' --header 'Authorization: Bearer {access_token}' -sS https://{Akkoma のアドレス}/api/v1/statuses

visibility で指定する値は以下のとおり。

  • public:一般公開
  • private:フォロワーのみ
  • local:インスタンス内のみ
  • unlisted:一般公開タイムラインに表示しない(プロフィール欄には表示される)
  • direct: @ で指定したユーザーだけが見られる

投稿内容には半角スペースが入っていても問題ない。

戻り値がゴチャゴチャ表示されるので、それを非表示にしたければコマンド末尾に > /dev/null を付ける。

(3)FileMaker から投稿するには以下のようなスクリプトを作成すればいい。

Set Variable [ $text ; Value: "これはテストです。" ]

Insert from URL [ Select ; With dialog: Off ; Target: $result ; "https://{Akkoma のアドレス}/api/v1/statuses" ; cURL options: " -X POST" & " -d \"status=" & $text & "\"" & " -d \"visibility=private\"" & " --header \"Authorization: Bearer {access_token}\"" ]

投稿内容には半角スペースが入っていても問題ない。

参考:
【Pleroma】Botが生えた【Twitter API】
https://glass-lab.net/2023/10/03/%E3%80%90Pleroma%E3%80%91Bot%E3%81%8C%E7%94%9F%E3%81%88%E3%81%9F%E3%80%90Twitter%20API%E3%80%91/

Amazon.co.jp: FileMaker 2023 スーパーリファレンス Windows&macOS&iOS 対応 eBook : 野沢 直樹, 胡 正則: 本
https://amzn.to/3SxmvOf