2018-07-15 10:05:19 +00:00
|
|
|
# Misskey API
|
|
|
|
|
2020-03-27 11:24:32 +00:00
|
|
|
MisskeyAPIを使ってMisskeyクライアント、Misskey連携Webサービス、Bot等(以下「アプリケーション」と呼びます)を開発できます。
|
|
|
|
ストリーミングAPIもあるので、リアルタイム性のあるアプリケーションを作ることも可能です。
|
|
|
|
|
2020-03-28 02:24:37 +00:00
|
|
|
APIを使い始めるには、まずアクセストークンを取得する必要があります。
|
|
|
|
このドキュメントでは、アクセストークンを取得する手順を説明した後、基本的なAPIの使い方を説明します。
|
2020-03-27 11:24:32 +00:00
|
|
|
|
2020-03-28 02:24:37 +00:00
|
|
|
## アクセストークンの取得
|
|
|
|
基本的に、APIはリクエストにはアクセストークンが必要となります。
|
2020-07-18 03:23:57 +00:00
|
|
|
APIにリクエストするのが自分自身なのか、不特定の利用者に使ってもらうアプリケーションなのかによって取得手順は異なります。
|
2020-03-27 11:24:32 +00:00
|
|
|
|
2020-07-18 03:23:57 +00:00
|
|
|
* 前者の場合: [「自分自身のアクセストークンを手動発行する」](#自分自身のアクセストークンを手動発行する)に進む
|
|
|
|
* 後者の場合: [「アプリケーション利用者にアクセストークンの発行をリクエストする」](#アプリケーション利用者にアクセストークンの発行をリクエストする)に進む
|
2020-03-27 11:24:32 +00:00
|
|
|
|
2020-07-18 03:23:57 +00:00
|
|
|
### 自分自身のアクセストークンを手動発行する
|
|
|
|
「設定 > API」で、自分のアクセストークンを発行できます。
|
2020-03-27 11:24:32 +00:00
|
|
|
|
|
|
|
[「APIの使い方」へ進む](#APIの使い方)
|
|
|
|
|
2020-07-18 03:23:57 +00:00
|
|
|
### アプリケーション利用者にアクセストークンの発行をリクエストする
|
|
|
|
アプリケーション利用者のアクセストークンを取得するには、以下の手順で発行をリクエストします。
|
2020-03-27 11:24:32 +00:00
|
|
|
|
|
|
|
#### Step 1
|
|
|
|
|
|
|
|
UUIDを生成する。以後これをセッションIDと呼びます。
|
|
|
|
|
2020-04-02 13:09:25 +00:00
|
|
|
> このセッションIDは毎回生成し、使いまわさないようにしてください。
|
|
|
|
|
2020-03-27 11:24:32 +00:00
|
|
|
#### Step 2
|
|
|
|
|
|
|
|
`{_URL_}/miauth/{session}`をユーザーのブラウザで表示させる。`{session}`の部分は、セッションIDに置き換えてください。
|
|
|
|
> 例: `{_URL_}/miauth/c1f6d42b-468b-4fd2-8274-e58abdedef6f`
|
|
|
|
|
|
|
|
表示する際、URLにクエリパラメータとしていくつかのオプションを設定できます:
|
|
|
|
* `name` ... アプリケーション名
|
|
|
|
* > 例: `MissDeck`
|
2020-03-28 09:33:24 +00:00
|
|
|
* `icon` ... アプリケーションのアイコン画像URL
|
|
|
|
* > 例: `https://missdeck.example.com/icon.png`
|
2020-03-27 11:24:32 +00:00
|
|
|
* `callback` ... 認証が終わった後にリダイレクトするURL
|
|
|
|
* > 例: `https://missdeck.example.com/callback`
|
|
|
|
* リダイレクト時には、`session`というクエリパラメータでセッションIDが付きます
|
2020-03-28 02:24:37 +00:00
|
|
|
* `permission` ... アプリケーションが要求する権限
|
2020-03-27 11:24:32 +00:00
|
|
|
* > 例: `write:notes,write:following,read:drive`
|
|
|
|
* 要求する権限を`,`で区切って列挙します
|
|
|
|
* どのような権限があるかは[APIリファレンス](/api-doc)で確認できます
|
|
|
|
|
|
|
|
#### Step 3
|
2020-07-18 03:23:57 +00:00
|
|
|
ユーザーが発行を許可した後、`{_URL_}/api/miauth/{session}/check`にPOSTリクエストすると、レスポンスとしてアクセストークンを含むJSONが返ります。
|
2020-03-27 11:24:32 +00:00
|
|
|
|
|
|
|
レスポンスに含まれるプロパティ:
|
2020-03-28 02:24:37 +00:00
|
|
|
* `token` ... ユーザーのアクセストークン
|
2020-03-27 11:24:32 +00:00
|
|
|
* `user` ... ユーザーの情報
|
|
|
|
|
|
|
|
[「APIの使い方」へ進む](#APIの使い方)
|
|
|
|
|
|
|
|
## APIの使い方
|
|
|
|
**APIはすべてPOSTで、リクエスト/レスポンスともにJSON形式です。RESTではありません。**
|
2020-03-28 02:24:37 +00:00
|
|
|
アクセストークンは、`i`というパラメータ名でリクエストに含めます。
|
2020-03-27 11:24:32 +00:00
|
|
|
|
|
|
|
* [APIリファレンス](/api-doc)
|
|
|
|
* [ストリーミングAPI](./stream)
|