MastodonのAPIを使いたい
MastodonのWebAPIを使ってみたい。その準備。
前回まで
以前、Twitter風サービスMastodonに登録してみた。
https://mstdn.jp/web/accounts/233143
Mastodon
懸念
- 管理が運用者にゆだねられる
- 運用停止
- 発言データをバックアップできない
希望
自分の発言データをローカルにバックアップしたい。もし運用停止になってもデータだけは残しておけば別鯖で復元できるかもしれないから。
参考
http://qiita.com/kk6/items/5ecfa1a8a6bd282c1d61
Mastodon.pyなるものが既にあるが細かい操作ができないらしい。
Mastodonは認証にOAuth2.0を使うらしい。OAuthには散々苦しめられた思い出しかない。
APIを使うまでの流れ
今回はpython環境準備のみ。
準備
webapi用パッケージ仮想環境をつくる。
0. pyenvとPythonをインストールする
1. pyenvを有効化する
.bash_profile
export PATH="~/.pyenv/bin:$PATH" eval "$(pyenv init -)" eval "$(pyenv virtualenv-init -)"
bash -l
2. pyenvで任意のPythonバージョンを指定する
$ pyenv global 3.6.1 $ pyenv version 3.6.1 (set by /home/mint/.pyenv/version)
3. パッケージ仮想環境をつくる
$ python3 -m venv webapi
任意のパスで作る。
4. 仮想環境にパッケージをインストールする
対象の仮想環境を有効化する。
$ source ./webapi/bin/activate
対象の仮想環境にインストールする。requests_oauthlib
パッケージを。
(webapi) $ pip install requests_oauthlib
$ pip install requests_oauthlib Collecting requests_oauthlib Downloading requests_oauthlib-0.8.0-py2.py3-none-any.whl Collecting requests>=2.0.0 (from requests_oauthlib) Using cached requests-2.17.3-py2.py3-none-any.whl Collecting oauthlib>=0.6.2 (from requests_oauthlib) Downloading oauthlib-2.0.2.tar.gz (125kB) 100% |████████████████████████████████| 133kB 1.2MB/s Collecting certifi>=2017.4.17 (from requests>=2.0.0->requests_oauthlib) Using cached certifi-2017.4.17-py2.py3-none-any.whl Collecting idna<2.6,>=2.5 (from requests>=2.0.0->requests_oauthlib) Using cached idna-2.5-py2.py3-none-any.whl Collecting urllib3<1.22,>=1.21.1 (from requests>=2.0.0->requests_oauthlib) Using cached urllib3-1.21.1-py2.py3-none-any.whl Collecting chardet<3.1.0,>=3.0.2 (from requests>=2.0.0->requests_oauthlib) Using cached chardet-3.0.3-py2.py3-none-any.whl Installing collected packages: certifi, idna, urllib3, chardet, requests, oauthlib, requests-oauthlib Running setup.py install for oauthlib ... done Successfully installed certifi-2017.4.17 chardet-3.0.3 idna-2.5 oauthlib-2.0.2 requests-2.17.3 requests-oauthlib-0.8.0 urllib3-1.21.1
所感
準備だけで大変なのは恒例。