forked from mirror/misskey
67 lines
3.8 KiB
Plaintext
67 lines
3.8 KiB
Plaintext
|
h1 Misskey API
|
||
|
|
||
|
p MisskeyはWeb APIを公開しており、アプリケーションから様々な操作を行うことができます。
|
||
|
|
||
|
section
|
||
|
h2 自分の所有するアカウントからAPIにアクセスする場合
|
||
|
p 「設定」で、APIにアクセスするのに必要なAPIキーを取得してください。
|
||
|
p APIにアクセスする際には、リクエストにAPIキーを「i」というパラメータ名で含めます。
|
||
|
p APIの詳しい使用法は「Misskey APIの利用」セクションをご覧ください。
|
||
|
|
||
|
section
|
||
|
h2 アプリケーションからAPIにアクセスする場合
|
||
|
p
|
||
|
| あなたのWebサービスやアプリケーションなどからMisskey APIを利用したい場合、
|
||
|
| ユーザーにアカウントへのアクセスを許可してもらい、ユーザーのアクセストークンを取得する必要があります。
|
||
|
p アクセストークンを取得するまでの流れを説明します。
|
||
|
|
||
|
section
|
||
|
h3 1.アプリケーションを登録する
|
||
|
p まず、あなたのWebサービスやアプリケーションをMisskeyに登録します。
|
||
|
p デベロッパーセンターから登録を行ってください。
|
||
|
p 登録が済むとアプリケーションのシークレットキーが入手できます。
|
||
|
|
||
|
section
|
||
|
h3 2.ユーザーに認証させる
|
||
|
p あなたのアプリケーションを使ってもらうには、ユーザーにアカウントへのアクセスの許可をもらう必要があります。
|
||
|
p
|
||
|
| 認証セッションを開始するには、#{common.config.api_url}/auth/session/generate へパラメータに app_secret としてシークレットキーを含めたリクエストを送信します。
|
||
|
| リクエスト形式はJSONで、メソッドはPOSTです。
|
||
|
| レスポンスとして認証セッションのトークンや認証フォームのURLが取得できるので、認証フォームのURLをブラウザで表示し、ユーザーにフォームを提示してください。
|
||
|
|
||
|
p
|
||
|
| あなたのアプリがコールバックURLを設定している場合、
|
||
|
| ユーザーがアプリの連携を許可すると設定しているコールバックURLに token という名前でセッションのトークンが含まれたクエリを付けてリダイレクトします。
|
||
|
|
||
|
p
|
||
|
| あなたのアプリがコールバックURLを設定していない場合、ユーザーがアプリの連携を許可したことを(何らかの方法で(たとえばボタンを押させるなど))確認出来るようにしてください。
|
||
|
|
||
|
section
|
||
|
h3 3.ユーザーのアクセストークンを取得する
|
||
|
p ユーザーが連携を許可したら、#{common.config.api_url}/auth/session/userkey へ次のパラメータを含むリクエストを送信します:
|
||
|
table
|
||
|
thead
|
||
|
tr
|
||
|
th 名前
|
||
|
th 型
|
||
|
th 説明
|
||
|
tbody
|
||
|
tr
|
||
|
td app_secret
|
||
|
td string
|
||
|
td アプリのシークレットキー
|
||
|
tr
|
||
|
td token
|
||
|
td string
|
||
|
td セッションのトークン
|
||
|
p 上手くいけば、認証したユーザーのアクセストークンがレスポンスとして取得できます。おめでとうございます!
|
||
|
|
||
|
p アクセストークンが取得できたら、「ユーザーのアクセストークン+アプリのシークレットキーをsha256したもの」を「i」というパラメータでリクエストに含めるだけで、APIにアクセスできます。
|
||
|
|
||
|
p APIの詳しい使用法は「Misskey APIの利用」セクションをご覧ください。
|
||
|
|
||
|
section
|
||
|
h2 Misskey APIの利用
|
||
|
p APIはすべてリクエストのパラメータ・レスポンスともにJSON形式です。また、すべてのエンドポイントはPOSTメソッドのみ受け付けます。
|
||
|
p APIリファレンスもご確認ください。
|