65 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			65 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| # Misskey API
 | |
| 
 | |
| MisskeyAPIを使ってMisskeyクライアント、Misskey連携Webサービス、Bot等(以下「アプリケーション」と呼びます)を開発できます。
 | |
| ストリーミングAPIもあるので、リアルタイム性のあるアプリケーションを作ることも可能です。
 | |
| 
 | |
| 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リファレンス](/api-doc)で確認できます
 | |
| 
 | |
| #### Step 3
 | |
| ユーザーが連携を許可した後、`{_URL_}/miauth/{session}/check`にPOSTリクエストすると、レスポンスとしてアクセストークンを含むJSONが返ります。
 | |
| 
 | |
| レスポンスに含まれるプロパティ:
 | |
| * `token` ... ユーザーのアクセストークン
 | |
| * `user` ... ユーザーの情報
 | |
| 
 | |
| [「APIの使い方」へ進む](#APIの使い方)
 | |
| 
 | |
| ## APIの使い方
 | |
| **APIはすべてPOSTで、リクエスト/レスポンスともにJSON形式です。RESTではありません。**
 | |
| アクセストークンは、`i`というパラメータ名でリクエストに含めます。
 | |
| 
 | |
| * [APIリファレンス](/api-doc)
 | |
| * [ストリーミングAPI](./stream)
 | 
