新しいSNSが流行ってるというのならば、とりあえずAPI叩いてみたいと思うのは自然な感情なわけで。
Mastodonの詳細については前書いたので読んで下さい
ライブラリのインストール
githubにちょうどいいライブラリがあったので使う。そういえばgitもMastodonみたいな権力分散を目指したプラットフォームだった気がしたけど、いつの間にかgithub一点集中になっちゃったよね。
というわけでターミナルからpipを叩いてインストール
1 |
pip install Mastodon.py |
コード書く
アプリケーションの作成
まずはアプリケーションの作成作業を行う。
アプリケーション名と出力ファイル名を決めてcreate_app関数に入れると認証キーの書き込まれたテキストファイルが生成される。
1 2 |
#このコードを1回だけ実行 Mastodon.create_app("APP_NAME",api_base_url="https://mstdn.jp",to_file="mstdnjp.txt"); |
txtファイルが無事に生成されたらこの部分は削除なりコメントアウトなりしておく。
ログイン
次に、アクセストークンを取得してくる。この操作は毎回やってもいいし初回だけでも良い(らしい)
1 2 3 |
#usernameとpasswordはMastodonにログインするときに使うやつ mstdn = Mastodon(client_id="mstdnjp.txt",api_base_url="https://mstdn.jp"); mstdn.log_in(username="MAIL_ADDRESS",password="PASSWORD",to_file="mstdnjp_login.txt"); |
無事に取得できたら認証キー同様に指定した名前のtxt形式のファイルで保存される。
取得した認証キーとアクセストークンを使ってログイン
1 |
mstdn = Mastodon(client_id="mstdnjp.txt",access_token="mstdnjp_login.txt",api_base_url="https://mstdn.jp"); |
つぶやく
1 |
mstdn.toot("Hello World!"); |
画像の投稿もmedia_post関数を使えばできるはず・・・が、どうもうまくいかないので原因調査中