やってみる

アウトプットすべく己を導くためのブログ。その試行錯誤すらたれ流す。

マストドンAPIをPythonで叩いたがエラーになった Mastodon.py

 昔は使えたと思ったのだが……。

成果物

情報源

手順

pip3 install Mastodon.py

使ってみる

 情報源のREADMEを丸パクリして動作確認してみた。

アクセストークンを取得する

 まず最初にアクセストークンを取得する。

from mastodon import Mastodon

Mastodon.create_app(
     'pytooterapp',
     api_base_url = 'https://mastodon.social',
     to_file = 'pytooter_clientcred.secret'
)

 上記を自分用にすると以下。

create_app.py

from mastodon import Mastodon

app_name = 'MastodonPyApp'
api_base_url = 'https://mstdn.jp/'
secret_file = '/home/pi/root/work/record/pc/account/mastodon/mstdn.jp.ytyaru.secret'
Mastodon.create_app(
     app_name,
     api_base_url = api_base_url,
     to_file = secret_file
)

 実行したらエラーになった。

./create_app.py
Traceback (most recent call last):
  File "/home/pi/.local/lib/python3.7/site-packages/mastodon/Mastodon.py", line 270, in create_app
    response = response.json()
  File "/usr/lib/python3/dist-packages/requests/models.py", line 897, in json
    return complexjson.loads(self.text, **kwargs)
  File "/usr/lib/python3/dist-packages/simplejson/__init__.py", line 518, in loads
    return _default_decoder.decode(s)
  File "/usr/lib/python3/dist-packages/simplejson/decoder.py", line 370, in decode
    obj, end = self.raw_decode(s)
  File "/usr/lib/python3/dist-packages/simplejson/decoder.py", line 400, in raw_decode
    return self.scan_once(s, idx=_w(s, idx).end())
simplejson.errors.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/tmp/work/Python.Mastodon.py.20210809155830/src/create_app.py", line 11, in <module>
    to_file = 'client_key.txt'
  File "/home/pi/.local/lib/python3.7/site-packages/mastodon/Mastodon.py", line 272, in create_app
    raise MastodonNetworkError("Could not complete request: %s" % e)
mastodon.Mastodon.MastodonNetworkError: Could not complete request: Expecting value: line 1 column 1 (char 0)

 これはひどい

所感

 こうなったら生APIを叩くしかないか。

対象環境

$ uname -a
Linux raspberrypi 5.10.52-v7l+ #1441 SMP Tue Aug 3 18:11:56 BST 2021 armv7l GNU/Linux