# Misskey API MisskeyAPIを使ってMisskeyクライアント、Misskey連携Webサービス、Bot等(以下「アプリケーション」と呼びます)を開発できます。 ストリーミングAPIもあるので、リアルタイム性のあるアプリケーションを作ることも可能です。 APIを使い始めるには、まずAPIキーを取得する必要があります。 このドキュメントでは、APIキーを取得する手順を説明した後、基本的なAPIの使い方を説明します。 ## APIキーの取得 基本的に、APIはリクエストにはAPIキーが必要となります。 あなたの作ろうとしているアプリケーションが、あなた専用のものなのか、それとも不特定多数の人に使ってもらうものなのかによって、APIキーの取得手順は異なります。 * あなた専用の場合: [「自分のアカウントのAPIキーを取得する」](#自分のアカウントのAPIキーを取得する)に進む * 皆に使ってもらう場合: [「アプリケーションとしてAPIキーを取得する」](#アプリケーションとしてAPIキーを取得する)に進む ### 自分のアカウントのAPIキーを取得する 「設定 > API」で、自分のAPIキーを取得できます。 > この方法で入手したAPIキーは強力なので、第三者に教えないでください(アプリなどにも入力しないでください)。 [「APIの使い方」へ進む](#APIの使い方) ### アプリケーションとしてAPIキーを取得する アプリケーションを使ってもらうには、ユーザーのAPIキーを以下の手順で取得する必要があります。 #### Step 1 UUIDを生成する。以後これをセッションIDと呼びます。 #### Step 2 `{_URL_}/miauth/{session}`をユーザーのブラウザで表示させる。`{session}`の部分は、セッションIDに置き換えてください。 > 例: `{_URL_}/miauth/c1f6d42b-468b-4fd2-8274-e58abdedef6f` 表示する際、URLにクエリパラメータとしていくつかのオプションを設定できます: * `name` ... アプリケーション名 * > 例: `MissDeck` * `callback` ... 認証が終わった後にリダイレクトするURL * > 例: `https://missdeck.example.com/callback` * リダイレクト時には、`session`というクエリパラメータでセッションIDが付きます * `permissions` ... アプリケーションが要求する権限 * > 例: `write:notes,write:following,read:drive` * 要求する権限を`,`で区切って列挙します * どのような権限があるかは[APIリファレンス](/api-doc)で確認できます #### Step 3 ユーザーが連携を許可した後、`{_URL_}/miauth/{session}/check`にPOSTリクエストすると、レスポンスとしてAPIキーを含むJSONが返ります。 レスポンスに含まれるプロパティ: * `token` ... ユーザーのAPIキー * `user` ... ユーザーの情報 [「APIの使い方」へ進む](#APIの使い方) ## APIの使い方 **APIはすべてPOSTで、リクエスト/レスポンスともにJSON形式です。RESTではありません。** APIキーは、`i`というパラメータ名でリクエストに含めます。 * [APIリファレンス](/api-doc) * [ストリーミングAPI](./stream)