This commit is contained in:
syuilo 2020-03-27 20:24:32 +09:00
parent c37bc2cd0f
commit f5c5d5cd7e
3 changed files with 62 additions and 47 deletions

View file

@ -72,6 +72,9 @@ export default Vue.extend({
},
parse(md: string) {
//
md = md.replace(/\{_URL_\}/g, url);
// markdown
const parsed = markdown.parse(md, {});
if (parsed.length === 0) return;

View file

@ -1,3 +1,60 @@
# Misskey API
[APIリファレンス](/api-doc)
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)

View file

@ -42,52 +42,7 @@ export function getDescription(lang = 'ja-JP'): string {
.join('\n');
const descriptions = {
'ja-JP': `**Misskey is a decentralized microblogging platform.**
# Usage
**APIはすべてPOSTでリクエスト/JSON形式です**
APIはリクエストに認証情報(APIキー)\`i\`というパラメータでAPIキーを添付してください。
## APIキーを取得する
> APIAPIキーを取得できます
> ()
## APIキーを取得する
APIキーをアプリケーションが扱うのはセキュリティ上のリスクがあるので
APIを利用する際にはAPIキーを発行します
### 1.
Webサービス()Misskeyに登録します
[](/dev) >
使
> </p>
### 2.
使
[${config.apiUrl}/auth/session/generate](#operation/auth/session/generate) \`appSecret\`としてシークレットキーを含めたリクエストを送信します。
URLが取得できるのでURLをブラウザで表示し
URLを設定している場合
URLに\`token\`という名前でセッションのトークンが含まれたクエリを付けてリダイレクトします。
URLを設定していない場合(())
### 3.
[${config.apiUrl}/auth/session/userkey](#operation/auth/session/userkey)
*+sha256したもの*APIキーとしてAPIにリクエストできます
APIキーの生成方法を擬似コードで表すと次のようになります:
\`\`\` js
const i = sha256(userToken + secretKey);
\`\`\`
'ja-JP': `
# Permissions
|Permisson (kind)|Description|Endpoints|
|:--|:--|:--|