# 取得存取權杖
要開始使用 API,您需要取得與將使用API的帳戶相關聯的**存取權杖**。
本文件將介紹取得存取權杖的步驟,然後說明如何使用基本 API。
基本上,API需要存取權杖進行請求。
存取權杖是與用戶關聯的身份驗證資料,用於識別使用API的用戶,同時管理每個存取權杖具有什麼樣的操作權限。
:::tip
使用者和與該使用者關聯的存取權杖之間存在一對多關係,並且可以向使用者發行多個存取權杖。
:::
你可以輕鬆地獲得自己的存取權杖,也可以獲取使用你的應用程序的不特定用戶的存取權杖。
- 如果是前者:**閱讀「手動發行您自己的存取權杖」**
- 如果是後者:閱讀「**請求應用程式使用者發行存取權杖**」
### 手動發行您自己的存取權杖
您可以在 Misskey Web 的「設定 > API」中發行自己的存取權杖。
:::danger
請不要與他人分享您的存取權杖。
:::
### 請求應用程式使用者發行存取權杖
若要為使用應用程式的使用者(以下簡稱「使用者」)取得存取權杖,請依照下列步驟請求核發。
:::tip
下面描述的方法稱為 MiAuth,它無需創建應用程式即可立即發行存取權杖。
[還有一種獲取存取權杖的方法是使用應用程式建立方法(舊方法)。](./app)
:::
#### 步驟1
產生 UUID。從現在起,這將被稱為**工作階段ID**。
:::danger
此工作階段 ID 應每次生成,不應重複使用。
:::
#### 步驟2
在使用者瀏覽器中顯示應用程式授權表單。授權表格可透過以下格式的網址開啟:
```
https://{host}/miauth/{session}
```
需要變更的部份
- 將 `{host}` 替換為使用者伺服器的主機。主機通常由使用者輸入。
- 將 `{session}` 替換為工作階段 ID。
您也可以在網址中設定多個選項作為查詢參數:
| 名稱 | 說明 |
| ------------ | ------------------------------------------------------------------- |
| `name` | 應用程式名稱。 |
| `icon` | 應用程式的圖標圖像網址。 |
| `callback` | 驗證後重導向的網址。
重導向時,工作階段 ID 會附加到查詢參數 `session`。 |
| `permission` | 應用程式所需的權限。
列舉所請求的授權,以半形逗號 `,` 分隔。可以在[此處](./permission.md)查看權限清單。 |
:::tip{label='例'}
```
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
```
:::
#### 步驟3
使用者授予應用程式存取權限後,向下列格式的網址傳送 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`。
- 存取權杖包含在請求內文 JSON 中,參數名為 `i`。
- 基礎網址是 `https://{伺服器網域}/api`。
:::
帶有存取權杖(中介資訊)的正文範例:
```json
{
"i": "HogEFugA1341",
"detail": false
}
```
有關 API 的更多資訊,請參閱 API 參考。
:::warning
Misskey 不使用 REST。
:::
此外,Misskey 不僅提供 HTTP API,還提供資料流 API。有關資料流 API 的詳細資訊,請參閱[此文件](./streaming/index.md)。