mirror of
https://iceshrimp.dev/Crimekillz/jointrashposs.git
synced 2024-11-24 01:39:07 +01:00
139 lines
5.6 KiB
Markdown
139 lines
5.6 KiB
Markdown
|
---
|
|||
|
description: '
|
|||
|
Misskey espone una API che puoi usare per sviluppare client mobile, servizi web connessi a Misskey, bot, altre applicazioni.'
|
|||
|
---
|
|||
|
|
|||
|
# Le API di Misskey
|
|||
|
|
|||
|
Misskey espone una API che puoi usare per sviluppare client mobile, servizi web connessi a Misskey, bot e altre applicazioni.
|
|||
|
|
|||
|
Abbiamo anche una **API di streaming** per ccreare applicazioni con caratteristiche push, in realtime.
|
|||
|
|
|||
|
::: tip
|
|||
|
Usando la SDK ufficiale di Misskey, o librerie di terze parti, puoi fruire della API in modo più conveniente. Per esempio semplificando alcuni dei passi descritti in questa pagina.
|
|||
|
:::
|
|||
|
|
|||
|
Tanto per cominciare, ti occorre ottenere il **token di accesso** associato all'account che intendi usare per fruire delle API.
|
|||
|
|
|||
|
Questa pagina ti spiega passo passo come ottenerlo e le basi per fruire delle API.
|
|||
|
|
|||
|
## Ottenere un token di accesso
|
|||
|
|
|||
|
Le API, in generale, richiedono l'accesso autenticato da un token. Si tratta di un set di credenziali associate ad un profilo, che lo identificano e controllano quali operazioni sia autorizzato a svolgere quello specifico token.
|
|||
|
|
|||
|
::: tip
|
|||
|
Tra il profilo e i token c'è la relazione uno-a-molti, significa che per ogni profilo si possono creare più token (anche con diversi livelli di privilegi)
|
|||
|
:::
|
|||
|
|
|||
|
Ci sono due modi per ottenere il token:
|
|||
|
|
|||
|
- [Richiederlo per se stessi](#richiedere-un-token-di-accesso-manualmente)
|
|||
|
- [Richiederlo per un altro profilo che userà l'applicazione](#richiedere-l-emissione-di-un-token-di-accesso)
|
|||
|
|
|||
|
### Richiedere un token di accesso manualmente
|
|||
|
|
|||
|
Per ottenere un token per il proprio profilo, è sufficiente aprire il proprio profilo in Misskey e, nelle impostazioni, scegliere il menu API. Da lì, seguire le indicazioni.
|
|||
|
|
|||
|
::: danger
|
|||
|
Fai attenzione! Non condividere il token con nessuno, deve rimanere segreto, altrimenti qualcuno potrebbe ottenere l'accesso del profilo.
|
|||
|
:::
|
|||
|
|
|||
|
### Richiedere l'emissione di un token di accesso
|
|||
|
|
|||
|
Per richiedere il token di accesso per un altro profile, occorre inizializzare la richiesta come indicato.
|
|||
|
|
|||
|
::: tip
|
|||
|
|
|||
|
以下に説明する方法は、アプリを作成せずインスタントにアクセストークンを発行する、MiAuthと呼ばれるものです。
|
|||
|
|
|||
|
[アプリ作成方式でのアクセストークン取得方法もあります(旧来型)。](./app)
|
|||
|
:::
|
|||
|
|
|||
|
#### Passo 1
|
|||
|
|
|||
|
Genera un UUID (identificativo unico dell'utente). Da ora in poi lo chiameremo _ID Sessione_.
|
|||
|
|
|||
|
::: danger
|
|||
|
L'**ID Sessione** dovrebbe essere generato ogni volta e mai riutilizzato.
|
|||
|
:::
|
|||
|
|
|||
|
#### Passo 2
|
|||
|
|
|||
|
Nel browser della persona utilizzatrice dovrebbe comparire il modulo di autenticazione. Il modulo di autenticazione può essere aperto usando una URL simile a questa:
|
|||
|
|
|||
|
```:no-line-numbers
|
|||
|
https://{host}/miauth/{session}
|
|||
|
```
|
|||
|
|
|||
|
- `{host}` è il nome dell'istanza (di solito lo ha digitato la persona stessa)
|
|||
|
- `{session}` è il valore **ID Sessione**
|
|||
|
|
|||
|
Si possono anche aggiungere alcune opzioni, come parametri GET nella URL:
|
|||
|
|
|||
|
| Nome | Descrizione |
|
|||
|
| ------------ | ------------------------------------------------------------------------------------------------------------------------------ |
|
|||
|
| `name` | Nome dell'applicazione |
|
|||
|
| `icon` | Indirizzo URL dell'icona (immagine) |
|
|||
|
| `callback` | Indirizzo URL a cui reindirizzare dopo l'autenticazione (con **ID Sessione** aggiunto come parametro GET denominato `session`) |
|
|||
|
| `permission` | I permessi richiesti dall'applicazione. Permessi multipli vanno suddivisi con la virgola `,` |
|
|||
|
|
|||
|
::: tip Esempio concreto
|
|||
|
|
|||
|
```: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
|
|||
|
```
|
|||
|
|
|||
|
:::
|
|||
|
|
|||
|
#### Passo 3
|
|||
|
|
|||
|
Dopo che la persona ha autorizzato l'accesso alla tua applicazione, una richiesta HTTP, di tipo `POST` alla seguente risorsa restituirà il **token di accesso** come risposta.
|
|||
|
|
|||
|
```:no-line-numbers
|
|||
|
https://{host}/api/miauth/{session}/check
|
|||
|
```
|
|||
|
|
|||
|
- `{host}` è il nome dell'istanza della persona utilizzatrice (di solito lo ha digitato egli stessa)
|
|||
|
- `{session}` è il valore **ID Sessione**
|
|||
|
|
|||
|
Le proprietà incluse nella risposta sono le seguenti:
|
|||
|
|
|||
|
| Parametro | Descrizione |
|
|||
|
| --------- | ------------------------ |
|
|||
|
| `token` | token di accesso |
|
|||
|
| `user` | informazioni sul profilo |
|
|||
|
|
|||
|
## Fruire delle API
|
|||
|
|
|||
|
Una volta che hai ottenuto il **token di accesso** puoi usare le API inviando richieste HTTP alle varie risorse.
|
|||
|
|
|||
|
|
|||
|
::: tip
|
|||
|
|
|||
|
- HTTP APIはすべてPOSTで、リクエスト/レスポンスともにJSON形式です(drive/files/createを除く)。
|
|||
|
- 要求ヘッダーに`Content-Type: application/json`を指定します。
|
|||
|
- アクセストークンは、`i`というパラメータ名でリクエストボディJSONに含めます。
|
|||
|
|
|||
|
:::
|
|||
|
|
|||
|
アクセストークン付きのボディの例(metaの場合):
|
|||
|
|
|||
|
```json
|
|||
|
{
|
|||
|
"i": "HogEFugA1341",
|
|||
|
"detail": false
|
|||
|
}
|
|||
|
```
|
|||
|
|
|||
|
Il **token di accesso** deve essere incluso nel corpo nella richiesta, in un parametro chiamato `i`. Per avere maggiori informazioni sulle API, vedere il catalogo.
|
|||
|
|
|||
|
In aggiunta alle API HTTP, Misskey mette a disposizione anche le [Streaming API](./streaming/).
|
|||
|
|
|||
|
::: warning
|
|||
|
Le API di Misskey non sono RESTful.
|
|||
|
:::
|
|||
|
|
|||
|
::: tip
|
|||
|
La tua istanza Misskey mette a disposizione il **Catalogo delle API** e la documentazione, al seguente indirizzo: `/api-doc`
|
|||
|
:::
|