Mastodonのアクセストークン取ろうとしてリダイレクトでコケる方へ

うちの環境が悪いのか、curlだけではうまくアクセストークンが取れなかったからブラウザ併用する方法をメモ代わりに置いておきます。

その前にcurlって何?って類の質問は受け付けません。長くなっちゃうので各自調べてみてください。

ではまずアプリケーション登録します。

curl -X POST -d “client_name=mstodonwriter&redirect_uris=urn:ietf:wg:oauth:2.0:oob&scopes=write&website=https://obitsudon.midyuki.net” -Ss https://obitsudon.midyuki.net/api/v1/apps

urlはちゃんと自分の所属するインスタンスのurlに変えてくださいね^^;

そうするととこんなのが戻ってきます。

{“id”:hoge1,”redirect_uri”:”urn:ietf:wg:oauth:2.0:oo
b”,”client_id”:”hoge2“,”client_secret”:
hoge3“}

このhoge1からhoge3までは特定の文字列が入っていますが、使うのはhoge2とhoge3なので忘れずにメモしておきましょう。
で、この次もcurlで所得できるはずなのですが、どうもうまくできないので、所得したいインスタンスにログインしているブラウザでこう入力して開いてください。

https://obitsudon.midyuki.net/oauth/authorize?client_id=hoge2&response_type=code&redirect_uri=urn:ietf:wg:oauth:2.0:oob&scope=write

そうするとアプリケーション登録許可を求めてくるので許可してください。
すると出てくる文字列がhoge4なので、これもまたどこかにメモしておいてください。
でもってまたcurlの出番です。

curl -X POST -sS https://obitsudon.midyuki.net/oauth/token -F “grant_type=authorization_code” -F “redirect_uri=urn:ietf:wg:oauth:2.0:oob” -F “client_id=hoge2” -F “client_secret=hoge3” -F “code=hoge4

これでやっとアクセストークンが出てきます。

{“access_token”:”hoge5“,”token_type”:”b
earer”,”scope”:”write”,”created_at”:1234567890}

こんな感じのが戻ってきます。これが念願のアクセストークンです。
試しにこのhoge5で書き込みしてみましょう。

curl -X POST -d “access_token=hoge5&status=TEST&visibility=private” -Ss https://obitsudon.midyuki.net/api/v1/statuses

これで投稿できてるはずですので、確認してみてください。

このアクセストークンを使えばIFTTTとかから書き込みができるので、使い方が広がると思います。

コメント

タイトルとURLをコピーしました