mirror of
https://iceshrimp.dev/Crimekillz/jointrashposs.git
synced 2024-11-25 02:09:05 +01:00
122 lines
4.5 KiB
Markdown
122 lines
4.5 KiB
Markdown
|
---
|
|||
|
description: 'Misskey offre une API pour développer son propre client Misskey, des services, des bots, etc… (« Applications ».'
|
|||
|
---
|
|||
|
|
|||
|
# API Misskey
|
|||
|
Misskey dispose d’une APi pour développer son propre client Misskey, des services liés, des bots, etc… (« Applications »).
|
|||
|
Il existe également un flux API pour créer des applications avec des fonctions en temps réel.
|
|||
|
|
|||
|
::: tip
|
|||
|
En utilisant le SDK officiel Misskey ou une librairie tierce, vous pouvez utiliser l’API de manière à simplifier des étapes décrites dans ce document.
|
|||
|
Voir [ici](TODO) pour plus d’informations à propos des librairies.
|
|||
|
:::
|
|||
|
|
|||
|
Pour commencer à utiliser l’API vous aurez besoin une **clé d’accès** associée à un compte.
|
|||
|
Ce document vous accompagne dans l’obtention de cette clé et montre comment l’utiliser pour un usage basique.
|
|||
|
|
|||
|
## Obtenir une clé d’accès
|
|||
|
L’API requiert une clé d’accès pour ses requêtes.
|
|||
|
Une clé d’accès est un ensemble de données associée à une personne, l’identifiant comme utilisant l’API et contrôlant les opérations qui sont effectuées.
|
|||
|
|
|||
|
::: tip
|
|||
|
La clé est nominative et ne peut être utilisée que par une personne, plusieurs clés peuvent être possédées par une personne.
|
|||
|
:::
|
|||
|
|
|||
|
Vous pouvez facilement [obtenir votre clé d’accès](#Méthode-manuelle), ou une [clé pour une personne utilisant votre application](#Demander-une-clé-d’accès)..
|
|||
|
|
|||
|
### Méthode manuelle
|
|||
|
Vous pouvez créer votre propre clé d’accès via l’interface Misskey Web dans la section API des paramètres.
|
|||
|
|
|||
|
::: warning
|
|||
|
Ne communiquez pas cette clé.
|
|||
|
:::
|
|||
|
|
|||
|
### Demander une clé d’accès
|
|||
|
Pour obtenir une clé d’accès pour une personne utilisant votre application, suivre les étapes suivantes :
|
|||
|
|
|||
|
::: tip
|
|||
|
以下に説明する方法は、アプリを作成せずインスタントにアクセストークンを発行する、MiAuthと呼ばれるものです。
|
|||
|
|
|||
|
[アプリ作成方式でのアクセストークン取得方法もあります(旧来型)。](./app)
|
|||
|
:::
|
|||
|
|
|||
|
#### Étape 1
|
|||
|
Générer un UUID, ci-après dénommé **ID session**.
|
|||
|
|
|||
|
::: warning
|
|||
|
Cet ID session est à usage unique.
|
|||
|
:::
|
|||
|
|
|||
|
#### Étape 2
|
|||
|
Le formulaire d’identification de l’application doit s’afficher dans le navigateur. Cela peut être fait via une URL de format :
|
|||
|
|
|||
|
```:no-line-numbers
|
|||
|
https://{host}/miauth/{session}
|
|||
|
```
|
|||
|
|
|||
|
où
|
|||
|
- `{host}` est l’hôte de l’instance, généralement entré manuellement ;
|
|||
|
- `{session}` est l’ID session.
|
|||
|
|
|||
|
Vous pouvez également ajouter des options telles que des paramètres dans l’URL :
|
|||
|
|
|||
|
| nom | description |
|
|||
|
| ---- | ---- |
|
|||
|
| `name` | nom de l’application |
|
|||
|
| `icon` | URL de l’icône de l’application |
|
|||
|
| `callback` | L’URL de redirection après identificaton, avec l’ID session en tant que `session`. |
|
|||
|
| `permission` | Les permissions requises par l’application. <br>Liste les permissions à demander, séparées par `,`. La liste complète est consultable [ici](TODO). |
|
|||
|
|
|||
|
```:no-line-numbers
|
|||
|
https://misskey.io/miauth/c1f6d42b-468b-4fd2-8274-e58abdedef6f?name=MyApp&callback=https%3A%2F%2Fmyapp.example.com%2Fcallback&permisson=write:notes,write:following,read:drive
|
|||
|
```
|
|||
|
|
|||
|
#### Étape 3
|
|||
|
Après l’identification, une requête POST à une URL du format suivant retournera en un JSON contenant la clé d’accès :
|
|||
|
```:no-line-numbers
|
|||
|
https://{host}/api/miauth/{session}/check
|
|||
|
```
|
|||
|
|
|||
|
où
|
|||
|
- `{host}` est l’hôte de l’instance ;
|
|||
|
- `{session}` est l’ID session.
|
|||
|
|
|||
|
Les propriétés incluses dans la réponse sont les suivantes :
|
|||
|
|
|||
|
| nom | description |
|
|||
|
| ---- | ---- |
|
|||
|
| `token` | clé d’accès |
|
|||
|
| `user` | information sur la personne |
|
|||
|
|
|||
|
## Utilisation de l’API
|
|||
|
Une fois la clé en main, vous pouvez utiliser l’API pour faire des requêtes.
|
|||
|
|
|||
|
::: tip
|
|||
|
- Toutes les API HTTP sont POST, et les requête comme les réponses sont au format JSON (à l’exception de drive/files/create ;
|
|||
|
- Indiquez `Content-Type: application/json` dans l’entête de requête ;
|
|||
|
- La clé d’accès est dans le corps de requête JSON avec comme valeur de name `i`.
|
|||
|
|
|||
|
:::
|
|||
|
Exemple de corps avec une clé d’accès pour meta :
|
|||
|
|
|||
|
```json
|
|||
|
{
|
|||
|
"i": "HogEFugA1341",
|
|||
|
"detail": false
|
|||
|
}
|
|||
|
```
|
|||
|
|
|||
|
La clé d’accès est incluse dans le corps de requête JSON comme paramètre `i`.
|
|||
|
|
|||
|
Pour plus d’informations à propos de l’API voir [référence API](./endpoints.html).
|
|||
|
|
|||
|
::: warning
|
|||
|
Misskey n’utilise pas REST.
|
|||
|
:::
|
|||
|
|
|||
|
En plus de l’API HTTP, Misskey fourni un flux API. Plus d’informations à ce sujet [ici](.streaming/).
|
|||
|
|
|||
|
::: tip
|
|||
|
Votre instance Misskey dispose de sa propre documentation d’API à `/api-doc`.
|
|||
|
:::
|