5
7

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.

Mastodon API で「You are being redirected」とアクセストークンの取得

Last updated at Posted at 2017-08-28

Mastodon の API でアクセストークンを取得しようとすると、「You are being redirected」が返ってくる。

TL; DR (今北産業)

  1. 初回トークン発行時の「承認画面」に転送されています。
  2. テストアプリで、アクセストークンが欲しいだけであれば Mastodon の設定からアクセス・トークンを発行するのが楽。
  3. スクリプトでアクセス・トークンを取得するには「Access Token Generator for Mastodon API」(by @takahashim )のスクリプトを使うのが手っ取り早い。

関連Qiita記事

TS; DR と 所感

Qiitadon や、その他の Mastodon インスタンスで API を使うためのアクセス・トークンを取得しようとすると「You are being redirected.」の 302 エラーで認証画面(/auth/sign_in)にリダイレクトされてしまう

以前は PHP 経由でも直接 cURL コマンドを叩いても取得できたのに、ClientIDClientSecret までは取得できるものの、トークン取得時に認証画面へのリダイレクトが返されるようになりました。

Qiita/Qiitadon 共に二段階認証は設定しておらず、なんとなくですが、Qiita アカウントと GitHub アカウントと連携してからのような気がします。

The /oauth/token path will attempt to login with the given credentials, and then retrieve the access token for the current user. If the login failed the response will be a 302 redirect to /auth/sign_in. Otherwise the response will be a JSON object containing the key access_token.

本家の情報を見ると認証に失敗しているらしいのですが、もともとメールアドレスとパスワードは変数で渡しているのと念のための内容も確認済みなので、恐らくタイポではない気がします。どうやら「このアプリを許可しますか?」的な、例の画面に転送されているっぽいのです。

「軽くトークンが欲しいだけなのに面倒臭いなぁ」と困っていたら、 @takahashim さんの「Access Token Generator for Mastodon API」を使うのが簡単でした。

ソースも GitHub で公開されているので、何を行なっているのかが見れて安心&勉強になりました。

https://github.com/takahashim/mastodon-access-token/blob/master/README.md

2017/09/07 追記

Mastodon v1.6.0rc1-16-g4c3dd0b を確認したところ、「設定」-「開発」-「アプリ」から「新規アプリ」ボタン押下で、アプリの登録および OAuth に必要なキー(Client ID, Client Secret, Access Token)が取得できるようになっていました。個人専用のアプリのために、アクセストークンを取得するだけなら、この画面から発行するのが一番楽だと思います。(下記図参照)

スクリーンショット 2017-09-06 0.20.39.png

参考文献

5
7
0

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
5
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?