2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【超初心者】PythonでMastodonのAPIを叩く

Last updated at Posted at 2020-10-25

最近メインのSNSとしてMastodonを使っているので試しに何かbotでも作ってみるかと思い、備忘録代わりに

##アクセストークンの取得
APIを叩くためのアクセストークンを取得します。
Mastodonのホームから
ユーザー設定→開発→新規アプリ
でこのページにたどり着くはずです。
image.png
このページでアプリの名前を適当に入力して、下のほうにある送信を押すと
先ほど入力した名前が表示されているのでそこを押すと

クライアントキー
クライアントシークレット
アクセストークン

というのが表示されると思います。
この後必要となるのはアクセストークンのみです。
このページはいつでも見れるので覚えておく必要はありません。

##Tootしてみる
以下のコードでtootできます。

toot.py
import requests
headers = {'Authorization': 'Bearer xxxxxxxxxxxxxxxxx'}    #xxxxxxxxxxxxxxxxxに自分で取得したアクセストークンを入れる。
host = "https://example.com/api/v1/statuses"    #example.comを自分のインスタンスのドメインに変更する。
toot = ""   #toot本文
content = toot.encode()    #エンコードしないと動かない
data = {'status': cotent}
post = requests.post(host, headers=headers, data=data)
print(post.status_code)

必要なライブラリはrequestsだけなので非常に簡単にtootすることができます。
コードに直接Access tokenを記述するのはセキュリティ上好ましくないのでその辺は適宣かえて使用してください。
tootするにあたってtootする文章をエンコードしないとうまく動かないらしく、そので手こずってしまいました。
これで200が出力されていれば無事tootができます。

tootしたい文をテキトーに作って持ってきてcronで回せばbotの完成です。

2
1
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?