* New translations ja-JP.yml (Chinese Traditional) * New translations ja-JP.yml (Chinese Traditional) * New translations ja-JP.yml (German) * New translations ja-JP.yml (English) * New translations ja-JP.yml (German) * New translations ja-JP.yml (English) * New translations ja-JP.yml (Chinese Simplified) * New translations deck.md (Chinese Simplified) * New translations deck.md (Chinese Simplified) * New translations deck.md (Chinese Simplified) * New translations mfm.md (Chinese Simplified) * New translations ja-JP.yml (Italian) * New translations aiscript.md (Haitian Creole) * New translations deck.md (Haitian Creole) * New translations timelines.md (Haitian Creole) * New translations theme.md (Haitian Creole) * New translations stream.md (Haitian Creole) * New translations reversi-bot.md (Haitian Creole) * New translations reaction.md (Haitian Creole) * New translations pages.md (Haitian Creole) * New translations mute.md (Haitian Creole) * New translations keyboard-shortcut.md (Haitian Creole) * New translations follow.md (Haitian Creole) * New translations custom-emoji.md (Haitian Creole) * New translations create-plugin.md (Haitian Creole) * New translations api.md (Haitian Creole) * New translations ja-JP.yml (Haitian Creole) * New translations aiscript.md (Italian) * New translations mfm.md (Italian) * New translations deck.md (Italian) * New translations timelines.md (Italian) * New translations theme.md (Italian) * New translations stream.md (Italian) * New translations reversi-bot.md (Italian) * New translations reaction.md (Italian) * New translations pages.md (Italian) * New translations mute.md (Italian) * New translations keyboard-shortcut.md (Italian) * New translations follow.md (Italian) * New translations custom-emoji.md (Italian) * New translations create-plugin.md (Italian) * New translations api.md (Italian) * New translations mfm.md (Haitian Creole)
3.5 KiB
Misskey API
MisskeyAPIを使ってMisskeyクライアント、Misskey連携Webサービス、Bot等(以下「アプリケーション」と呼びます)を開発できます。 ストリーミングAPIもあるので、リアルタイム性のあるアプリケーションを作ることも可能です。
APIを使い始めるには、まずアクセストークンを取得する必要があります。 このドキュメントでは、アクセストークンを取得する手順を説明した後、基本的なAPIの使い方を説明します。
アクセストークンの取得
基本的に、APIはリクエストにはアクセストークンが必要となります。 APIにリクエストするのが自分自身なのか、不特定の利用者に使ってもらうアプリケーションなのかによって取得手順は異なります。
- 前者の場合: 「自分自身のアクセストークンを手動発行する」に進む
- 後者の場合: 「アプリケーション利用者にアクセストークンの発行をリクエストする」に進む
自分自身のアクセストークンを手動発行する
「設定 > API」で、自分のアクセストークンを発行できます。
アプリケーション利用者にアクセストークンの発行をリクエストする
アプリケーション利用者のアクセストークンを取得するには、以下の手順で発行をリクエストします。
Step 1
UUIDを生成する。以後これをセッションIDと呼びます。
このセッションIDは毎回生成し、使いまわさないようにしてください。
Step 2
{_URL_}/miauth/{session}
をユーザーのブラウザで表示させる。{session}
の部分は、セッションIDに置き換えてください。
例:
{_URL_}/miauth/c1f6d42b-468b-4fd2-8274-e58abdedef6f
表示する際、URLにクエリパラメータとしていくつかのオプションを設定できます:
name
... アプリケーション名-
例:
MissDeck
-
icon
... アプリケーションのアイコン画像URL-
例:
https://missdeck.example.com/icon.png
-
callback
... 認証が終わった後にリダイレクトするURL-
例:
https://missdeck.example.com/callback
- リダイレクト時には、
session
というクエリパラメータでセッションIDが付きます
-
permission
... アプリケーションが要求する権限-
例:
write:notes,write:following,read:drive
- 要求する権限を
,
で区切って列挙します - どのような権限があるかはAPIリファレンスで確認できます
-
Step 3
ユーザーが発行を許可した後、{_URL_}/api/miauth/{session}/check
にPOSTリクエストすると、レスポンスとしてアクセストークンを含むJSONが返ります。
レスポンスに含まれるプロパティ:
token
... ユーザーのアクセストークンuser
... ユーザーの情報
APIの使い方
APIはすべてPOSTで、リクエスト/レスポンスともにJSON形式です。RESTではありません。 アクセストークンは、i
というパラメータ名でリクエストに含めます。