mirror of
https://iceshrimp.dev/Crimekillz/jointrashposs.git
synced 2024-11-24 01:39:07 +01:00
811461f235
* New translations thread-mute.md (Chinese Simplified) * New translations webhook.md (Chinese Simplified) * New translations 1.troubleshooting.md (Chinese Simplified) * New translations donate.md (Chinese Simplified) * New translations misskey-hub.md (Chinese Simplified) * New translations announcement.md (Chinese Simplified) * New translations role.md (Chinese Simplified) * New translations 1.index.md (Chinese Simplified) * New translations bash.md (Chinese Simplified) * New translations docker.md (Chinese Simplified) * New translations kubernetes.md (Chinese Simplified) * New translations manual.md (Chinese Simplified) * New translations ubuntu-manual.md (Chinese Simplified) * New translations cdn.md (Chinese Simplified) * New translations disable-timelines.md (Chinese Simplified) * New translations 1.index.md (Chinese Simplified) * New translations permission.md (Chinese Simplified) * New translations 1.index.md (Chinese Simplified) * New translations 2.miauth.md (Chinese Simplified) * New translations 5.releases.md (Chinese Simplified) * New translations 1.index.md (Chinese Simplified) * New translations 3.oauth.md (Chinese Simplified) * New translations ja-jp.yml (Chinese Traditional) * New translations 1.about-misskey.md (Chinese Traditional) * New translations 2.get-started.md (Chinese Traditional) * New translations 3.join-server.md (Chinese Traditional) * New translations 4.things-to-know.md (Chinese Traditional) * New translations ads.md (Chinese Traditional) * New translations drive.md (Chinese Traditional) * New translations mfm.md (Chinese Traditional) * New translations mute-and-block.md (Chinese Traditional) * New translations pages.md (Chinese Traditional) * New translations poll.md (Chinese Traditional) * New translations share-form.md (Chinese Traditional) * New translations thread-mute.md (Chinese Traditional) * New translations webhook.md (Chinese Traditional) * New translations 1.troubleshooting.md (Chinese Traditional) * New translations donate.md (Chinese Traditional) * New translations misskey-hub.md (Chinese Traditional) * New translations announcement.md (Chinese Traditional) * New translations role.md (Chinese Traditional) * New translations 1.index.md (Chinese Traditional) * New translations bash.md (Chinese Traditional) * New translations docker.md (Chinese Traditional) * New translations kubernetes.md (Chinese Traditional) * New translations manual.md (Chinese Traditional) * New translations ubuntu-manual.md (Chinese Traditional) * New translations cdn.md (Chinese Traditional) * New translations disable-timelines.md (Chinese Traditional) * New translations 1.index.md (Chinese Traditional) * New translations permission.md (Chinese Traditional) * New translations 1.index.md (Chinese Traditional) * New translations 2.miauth.md (Chinese Traditional) * New translations publish-on-your-website.md (Chinese Traditional) * New translations 5.releases.md (Chinese Traditional) * New translations 1.index.md (Chinese Traditional) * New translations 3.oauth.md (Chinese Traditional) * New translations 1.about-misskey.md (English) * New translations 2.get-started.md (English) * New translations 3.join-server.md (English) * New translations 4.things-to-know.md (English) * New translations ads.md (English) * New translations drive.md (English) * New translations mfm.md (English) * New translations mute-and-block.md (English) * New translations pages.md (English) * New translations poll.md (English) * New translations share-form.md (English) * New translations thread-mute.md (English) * New translations webhook.md (English) * New translations 1.troubleshooting.md (English) * New translations donate.md (English) * New translations misskey-hub.md (English) * New translations announcement.md (English) * New translations role.md (English) * New translations 1.index.md (English) * New translations bash.md (English) * New translations docker.md (English) * New translations kubernetes.md (English) * New translations manual.md (English) * New translations ubuntu-manual.md (English) * New translations cdn.md (English) * New translations disable-timelines.md (English) * New translations 1.index.md (English) * New translations permission.md (English) * New translations 1.index.md (English) * New translations 2.miauth.md (English) * New translations 5.releases.md (English) * New translations 1.index.md (English) * New translations 3.oauth.md (English) * New translations 1.about-misskey.md (Indonesian) * New translations 2.get-started.md (Indonesian) * New translations 3.join-server.md (Indonesian) * New translations 4.things-to-know.md (Indonesian) * New translations ads.md (Indonesian) * New translations drive.md (Indonesian) * New translations mfm.md (Indonesian) * New translations mute-and-block.md (Indonesian) * New translations pages.md (Indonesian) * New translations poll.md (Indonesian) * New translations share-form.md (Indonesian) * New translations thread-mute.md (Indonesian) * New translations webhook.md (Indonesian) * New translations 1.troubleshooting.md (Indonesian) * New translations donate.md (Indonesian) * New translations misskey-hub.md (Indonesian) * New translations announcement.md (Indonesian) * New translations role.md (Indonesian) * New translations 1.index.md (Indonesian) * New translations bash.md (Indonesian) * New translations docker.md (Indonesian) * New translations kubernetes.md (Indonesian) * New translations manual.md (Indonesian) * New translations ubuntu-manual.md (Indonesian) * New translations cdn.md (Indonesian) * New translations disable-timelines.md (Indonesian) * New translations 1.index.md (Indonesian) * New translations permission.md (Indonesian) * New translations 1.index.md (Indonesian) * New translations 2.miauth.md (Indonesian) * New translations 5.releases.md (Indonesian) * New translations 1.index.md (Indonesian) * New translations 3.oauth.md (Indonesian) * New translations 5.releases.md (Korean) * New translations ja-jp.yml (English) * New translations docker.md (English) * New translations ja-jp.yml (Indonesian) * New translations 5.releases.md (Korean) * New translations ja-jp.yml (Indonesian) * New translations 1.about-misskey.md (Indonesian) * New translations 1.index.md (Indonesian) * New translations ads.md (Indonesian) * New translations antenna.md (Indonesian) * New translations charts.md (Indonesian) * New translations clip.md (Indonesian) * New translations custom-emoji.md (Indonesian) * New translations deck.md (Indonesian) * New translations drive.md (Indonesian) * New translations favorite.md (Indonesian) * New translations follow.md (Indonesian) * New translations hashtag.md (Indonesian) * New translations mention.md (Indonesian) * New translations mfm.md (Indonesian) * New translations 1.index.md (Indonesian) * New translations announcement.md (Indonesian) * New translations bash.md (Indonesian) * New translations ja-jp.yml (Indonesian) * New translations mute-and-block.md (Indonesian) * New translations pages.md (Indonesian) * New translations apps.md (Indonesian) * New translations donate.md (Indonesian) * New translations bash.md (Indonesian) * New translations docker.md (Indonesian) * New translations manual.md (Indonesian) * New translations 1.about-misskey.md (Chinese Traditional) * New translations 1.about-misskey.md (Chinese Traditional) * New translations create-plugin.md (French) * New translations create-plugin.md (Italian) * New translations create-plugin.md (Polish) * New translations create-plugin.md (Chinese Simplified) * New translations create-plugin.md (Chinese Traditional) * New translations create-plugin.md (Indonesian) * New translations aiscript.md (French) * New translations aiscript.md (Italian) * New translations aiscript.md (Korean) * New translations aiscript.md (Polish) * New translations aiscript.md (Chinese Simplified) * New translations aiscript.md (Chinese Traditional) * New translations aiscript.md (English) * New translations aiscript.md (Indonesian) * New translations ja-jp.yml (Chinese Traditional) * New translations ja-jp.yml (Chinese Traditional) * New translations troubleshooting.md (French) * New translations libraries.md (French) * New translations troubleshooting.md (Italian) * New translations libraries.md (Italian) * New translations troubleshooting.md (Korean) * New translations libraries.md (Korean) * New translations troubleshooting.md (Polish) * New translations libraries.md (Polish) * New translations troubleshooting.md (Chinese Simplified) * New translations libraries.md (Chinese Simplified) * New translations troubleshooting.md (Chinese Traditional) * New translations libraries.md (Chinese Traditional) * New translations troubleshooting.md (English) * New translations libraries.md (English) * New translations troubleshooting.md (Indonesian) * New translations libraries.md (Indonesian) * New translations ja-jp.yml (Chinese Traditional) * New translations ja-jp.yml (French) * New translations 2.miauth.md (French) * New translations ja-jp.yml (Italian) * New translations 2.miauth.md (Italian) * New translations ja-jp.yml (Korean) * New translations ja-jp.yml (Polish) * New translations 2.miauth.md (Polish) * New translations ja-jp.yml (Chinese Simplified) * New translations 2.miauth.md (Chinese Simplified) * New translations 2.miauth.md (Chinese Traditional) * New translations ja-jp.yml (English) * New translations 2.miauth.md (English) * New translations ja-jp.yml (Indonesian) * New translations 2.miauth.md (Indonesian) * Revert "New translations 1.about-misskey.md (English)" This reverts commit2b9572c2cf
. * Revert "New translations 2.get-started.md (English)" This reverts commit2fa05a5aee
. * Revert "New translations 4.things-to-know.md (English)" This reverts commit698c5e980d
. * Revert "New translations ads.md (English)" This reverts commitf0e1cd2965
. * Revert "New translations mfm.md (English)" This reverts commit51dcc0fc10
. * Revert "New translations webhook.md (English)" This reverts commitcfbebc5783
. * Revert "New translations 1.index.md (English)" This reverts commit67d2bec45c
. * Revert "New translations disable-timelines.md (English)" This reverts commit19ead90df6
. * Revert "New translations webhook.md (French)" This reverts commit52e6a8429a
. * Revert "New translations webhook.md (Chinese Traditional)" This reverts commit395f0fbc4a
. * Revert "New translations webhook.md (Polish)" This reverts commitac4e2c534e
. * Revert "New translations webhook.md (Korean)" This reverts commit14853e1eab
. * Revert "New translations pages.md (Korean)" This reverts commitf88e73d1ce
. * Revert "New translations bash.md (Korean)" This reverts commit60c9fae6a8
. * Revert "New translations kubernetes.md (Korean)" This reverts commit2239e8fd23
. * Revert "New translations ubuntu-manual.md (Korean)" This reverts commit3aab982625
. * Revert "New translations 1.about-misskey.md (Chinese Traditional)" This reverts commit5ac92102db
. * Revert "New translations 2.get-started.md (Chinese Traditional)" This reverts commitd090253e34
. * Revert "New translations 3.join-server.md (Chinese Traditional)" This reverts commit634db4d49b
. * Revert "New translations 4.things-to-know.md (Chinese Traditional)" This reverts commit383ee08013
. * Revert "New translations ads.md (Chinese Traditional)" This reverts commit6ed3b6885f
. * Revert "New translations drive.md (Chinese Traditional)" This reverts commit988cacb17e
. * Revert "New translations mfm.md (Chinese Traditional)" This reverts commit6b53e36fc4
. * Revert "New translations mute-and-block.md (Chinese Traditional)" This reverts commit44b1b3c723
. * Revert "New translations pages.md (Chinese Traditional)" This reverts commit4e60747a55
. * Revert "New translations poll.md (Chinese Traditional)" This reverts commit00385dc6a1
. * Revert "New translations share-form.md (Chinese Traditional)" This reverts commit8858eaf2f7
. * Revert "New translations thread-mute.md (Chinese Traditional)" This reverts commitd07bd70000
. * Revert "New translations 1.troubleshooting.md (Chinese Traditional)" This reverts commit7405a91ff9
. * fix * New translations aiscript.md (Korean) * New translations ja-jp.yml (Chinese Traditional) * New translations troubleshooting.md (Korean) * New translations ja-jp.yml (French) * New translations ja-jp.yml (Italian) * New translations ja-jp.yml (Korean) * New translations ja-jp.yml (Polish) * New translations ja-jp.yml (Chinese Simplified) * New translations ja-jp.yml (English) * New translations ja-jp.yml (Indonesian) * New translations 5.releases.md (Korean) * fix * fix * fix * fix
138 lines
6.7 KiB
Markdown
138 lines
6.7 KiB
Markdown
---
|
||
description: 'MisskeyはAPIを公開しています。APIを使ってMisskeyクライアント、Misskey連携Webサービス、Bot等(以下「アプリケーション」と呼びます)を開発することができます。'
|
||
---
|
||
|
||
# Misskey API
|
||
MisskeyはAPIを公開しています。APIを使ってMisskeyクライアント、Misskey連携Webサービス、Bot等(以下「アプリケーション」と呼びます)を開発することができます。
|
||
ストリーミングAPIもあるので、リアルタイム性のあるアプリケーションを作ることも可能です。
|
||
|
||
:::tip
|
||
|
||
Misskey公式SDKやサードパーティライブラリを使うことによって、このドキュメントで説明するいくつかの手順を簡略化できるなど、より便利にAPIを利用することができます。\
|
||
ライブラリについては[こちら](./libraries)を参照してください。
|
||
|
||
:::
|
||
|
||
APIを使い始めるには、APIを利用するアカウントに紐づいた**アクセストークン**を取得する必要があります。
|
||
このドキュメントでは、アクセストークンを取得する手順を説明した後、基本的なAPIの使い方を説明します。
|
||
|
||
## アクセストークンの取得
|
||
基本的に、APIはリクエストにはアクセストークンが必要となります。
|
||
アクセストークンは、ユーザーに紐づいた認証情報で、APIを利用するユーザーを識別するとともに、アクセストークンごとにどういった操作の権限を持っているかが管理されます。
|
||
|
||
:::tip
|
||
|
||
ユーザーとそのユーザーに紐づいたアクセストークンは一対多の関係であり、あるユーザーに対して複数のアクセストークンが発行され得ます。
|
||
|
||
:::
|
||
|
||
あなた自分自身のアクセストークンは簡単に取得できるほか、あなたのアプリケーションを使用することになる不特定のユーザーのアクセストークンを取得することもできます。
|
||
|
||
- 前者の場合: **「自分自身のアクセストークンを手動発行する」** に進む
|
||
- 後者の場合: **「アプリケーション利用者にアクセストークンの発行をリクエストする」** に進む
|
||
|
||
### 自分自身のアクセストークンを手動発行する
|
||
Misskey Webの「設定 > API」で、自分のアクセストークンを発行できます。
|
||
|
||
:::danger
|
||
|
||
アクセストークンは他人に知られないようにしてください。
|
||
|
||
:::
|
||
|
||
### アプリケーション利用者にアクセストークンの発行をリクエストする
|
||
アプリケーションを利用するユーザー(以下単に「ユーザー」と呼びます)のアクセストークンを取得するには、以下の手順で発行をリクエストします。
|
||
|
||
:::tip
|
||
|
||
以下に説明する方法は、アプリを作成せずインスタントにアクセストークンを発行する、MiAuthと呼ばれるものです。
|
||
|
||
[アプリ作成方式でのアクセストークン取得方法もあります(旧来型)。](./app)
|
||
|
||
:::
|
||
|
||
#### Step 1
|
||
UUIDを生成する。以後これを**セッションID**と呼びます。
|
||
|
||
:::danger
|
||
|
||
このセッションIDは毎回生成し、使いまわさないようにしてください。
|
||
|
||
:::
|
||
|
||
#### Step 2
|
||
アプリケーション認証フォームをユーザーのブラウザで表示させる。認証フォームは、以下の形式のURLで開くことができます:
|
||
|
||
```
|
||
https://{host}/miauth/{session}
|
||
```
|
||
|
||
ここで、
|
||
- `{host}`の部分は、ユーザーのサーバーのホストに置き換えます。通常ホストはユーザーが入力します。
|
||
- `{session}`の部分は、セッションIDに置き換えます。
|
||
|
||
また、URLにクエリパラメータとしていくつかのオプションを設定できます:
|
||
|
||
| 名前 | 説明 |
|
||
| ------------ | -------------------------------------------------------------------------------------------------------------------------------- |
|
||
| `name` | アプリケーション名。 |
|
||
| `icon` | アプリケーションのアイコン画像URL。 |
|
||
| `callback` | 認証が終わった後にリダイレクトするURL。<br>リダイレクト時には、`session`というクエリパラメータでセッションIDが付きます。 |
|
||
| `permission` | アプリケーションが要求する権限。<br>要求する権限を`,`で区切って列挙します。権限の一覧は[こちら](./permission.md)で確認できます。 |
|
||
|
||
:::tip 例
|
||
```
|
||
https://misskey.io/miauth/c1f6d42b-468b-4fd2-8274-e58abdedef6f?name=MyApp&callback=https%3A%2F%2Fmyapp.example.com%2Fcallback&permission=write:notes,write:following,read:drive
|
||
```
|
||
|
||
:::
|
||
|
||
#### Step 3
|
||
ユーザーがアプリケーションアクセスを許可した後、次の形式のURLにPOSTリクエストすると、レスポンスとしてアクセストークンを含むJSONが返ります。
|
||
|
||
```
|
||
https://{host}/api/miauth/{session}/check
|
||
```
|
||
|
||
ここで、
|
||
- `{host}`の部分は、ユーザーのサーバーのホストに置き換えます。
|
||
- `{session}`の部分は、セッションIDに置き換えます。
|
||
|
||
レスポンスに含まれるプロパティは以下の通りです:
|
||
|
||
| 名前 | 説明 |
|
||
| ------- | ---------------------------- |
|
||
| `token` | ユーザーのアクセストークン。 |
|
||
| `user` | ユーザーの情報。 |
|
||
|
||
## APIの利用
|
||
アクセストークンが取得できたら、各種エンドポイントにリクエストすることでAPIの利用が行えます。
|
||
|
||
:::tip
|
||
|
||
- HTTP APIはすべてPOSTで、リクエスト/レスポンスともにJSON形式です(drive/files/createを除く)。
|
||
- 要求ヘッダーに`Content-Type: application/json`を指定します。
|
||
- アクセストークンは、`i`というパラメータ名でリクエストボディJSONに含めます。
|
||
- ベースURLは`https://{サーバーのドメイン}/api`です。
|
||
|
||
:::
|
||
|
||
アクセストークン付きのボディの例(metaの場合):
|
||
|
||
```json
|
||
{
|
||
"i": "HogEFugA1341",
|
||
"detail": false
|
||
}
|
||
```
|
||
|
||
APIの詳細は、[APIリファレンス](./endpoints.html)を参照してください。
|
||
|
||
:::warning
|
||
|
||
MisskeyはRESTを採用していません。
|
||
|
||
:::
|
||
|
||
また、MisskeyはHTTP APIだけでなく、ストリーミングAPIも提供しています。ストリーミングAPIの詳細は[こちらのドキュメント](./streaming/index.md)を参照してください。
|