LoginSignup
6
4

More than 3 years have passed since last update.

MisskeyでアプリからAPIトークンを取得して投稿するまで

Last updated at Posted at 2020-04-19

はじめに

他にMisskeyでアプリのAPIを使って投稿する記事が見つからなかったので、備忘録として上げておきます。

環境

Ubuntu 19.10
Missleyのインスタンス めいすきー(https://misskey.m54.net/)

注意

筆者はめいすきー(https://misskey.m54.net/)で投稿していますが、自分でAPIトークンを取得する場合はこのURLを自分のmisskeyのインスタンスのURLに適宜置き換えて下さい。
(以降はめいすきーのURLを用いて説明します。)

1, アプリを登録する

https://misskey.m544.net/dev/apps
上記のリンクにアクセスし、「アプリ作成」をクリック
Screenshot from 2020-04-19 18-17-24.png

アプリケーション名、アプリの概要を入力し、「投稿を作成・削除する」にチェックを入れて「アプリケーションの作成」ボタンをクリックしてください。
Screenshot from 2020-04-19 19-22-02.png

Screenshot from 2020-04-19 19-22-13.png

アプリを作成すると、先程作成したアプリが表示されているはずなのでアプリの名前をクリックします。
Screenshot from 2020-04-19 19-23-47.png

クリックするとアプリのシークレットキーが取得できます。このシークレットキーは後で使用するのでメモしておくとよいです。
Screenshot from 2020-04-19 19-26-40.png

2, アプリを認証する

アプリを認証するためには、https://misskey.m544.net/api/auth/session/generateに先程取得したシークレットキーを使ってリクエストを送信します。
筆者はcurlを使用しました。JSON形式でPOSTが出来たらなんでもいいと思います。

curl -X POST -H 'Content-Type:application/json' -d '{"appSecret":"<シークレットキー>"}' https://misskey.m544.net/api/auth/session/generate

リクエストを送ると、認証用のトークンとURLが取得出来るので、認証用のURLにアクセスします。
認証用のトークンはこの後に使用します。
Screenshot from 2020-04-19 19-17-44.png
アクセスを許可を選択します。

3, APIトークンを取得する

https://misskey.kurume-nct.com/api/auth/session/userkeyに先程使用したシークレットキーと、先程取得した認証用のトークンを使用して、リクエストを送ります。

curl -X POST -H 'Content-Type:application/json' -d '{"appSecret":"<シークレットキー>, "token":"<認証用のトークン>"}' https://misskey.m544.net/api/auth/session/userkey

リクエストに成功すると、レスポンスの中に、"accessToken":"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"とアクセストークンが返ってきているはずです。
このアクセストークンを先程のシークレットキーを連結し、sha256と呼ばれるハッシュ関数でハッシュ化することで、ようやくAPIトークンが取得できます。
(以下のコマンドで取得できます)

$ export accesstoken="<アクセストークン>"
$ export secretkey="<シークレットキー>" 
$ echo -n $accesstoken$secretkey | shasum -a 256

4, 投稿する

いよいよAPIトークンを用いて投稿を行います。方法は非常にシンプルです。
https://misskey.m544.net/api/notes/create
上記のURLにAPIトークンを投稿したい文章を載せてリクエストを送ります。

curl -X POST https://misskey.m544.net/api/notes/create -d '{"i":"<APIトークン>","text":"hogehoge"}'

成功すると、以下のように文章が投稿出来ているのが確認できるはずです。
Screenshot from 2020-04-19 19-53-32.png

以上で投稿完了です。お疲れ様でした。

参考にした記事

https://misskey.kurume-nct.com/api-doc
https://blog.jnsk.info/post/174592458087/misskey%E3%81%AEapi%E3%82%92%E5%8F%A9%E3%81%84%E3%81%A6%E6%8A%95%E7%A8%BF%E3%81%99%E3%82%8B

6
4
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
6
4