Mastodon API の叩き方メモ

【野球バカ28号(仮)】のbot開発時にやったことのメモ
とりあえず curl で Mastodon の API を叩くまで ( mstdn.example.jp の部分は利用するインスタンスに置き換えてね!)

  1. アプリケーション登録(クライアントIDとシークレットの取得) (最初に一度のみ実行)
    • curl -X POST 'https://mstdn.example.jp/api/v1/apps' --data 'client_name=<アプリケーション名>&redirect_uris=<リダイレクト先>&scopes=<スコープ>
      • <アプリケーション名> – 半角英数字で適宜設定する.なお、同一インスタンス内でも重複可能な模様
      • <リダイレクト先> – 特に必要がない場合は urn:ietf:wg:oauth:2.0:oob を設定すること
      • <スコープ> – アクセス権の設定. read,write,follow の3つから「利用する可能性があるものすべて」を指定すること.スペース区切りで複数設定可能.各スコープの機能はここ参照.アクセストークン取得時(後述)にもスコープの設定をするが、ここで設定したもののみしか利用できないので注意。
    • クライアントID」および「クライアントシークレット」が返ってくるので、必ず保存しておくこと!後述のアクセストークンとは違い、ここで取得したものを何度も利用するので!!
  2. アクセストークンの取得 (APIアクセスごとに実行)
    • curl -X POST -d "client_id=<クライアントID>&client_secret=<クライアントシークレット>&grant_type=password&username=<メールアドレス>&password=<パスワード>&scope=<スコープ>" -Ss https://mstdn.example.jp/oauth/token
      • <クライアントID>,<クライアントシークレット> – 上記1.で取得したものをそのまま使用する.
      • <メールアドレス>,<パスワード> – 利用したいユーザのメールアドレス(ユーザ名ではない)およびパスワードを指定する
      • <スコープ> – 上記 1. と同じ ただしこちらはアプリケーション登録時に指定したものの中から1つのみしか指定できない
    • アクセストークン」がサーバから返ってくる。
  3. API を叩く (例として「新規toot投稿」の場合を示す)
    • curl --header "Authorization: Bearer <アクセストークン>" -X POST -d 'status=<toot内容>&visibility=<公開範囲>' -sS https://mstdn.example.jp/api/v1/statuses
      • HTTPヘッダとして Authorization: Bearer <アクセストークン> を付加する。

その他のAPIも同様の手順でアクセスできるはず・・・。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です