Autenticazione API di SpeakNotes
L'API accetta tre credenziali: una chiave API, un token di accesso OAuth o un token ID Firebase da una sessione autenticata.
Chiavi API
Invia la chiave come bearer token in ogni richiesta. Qualsiasi account autenticato può crearne una e funziona immediatamente.
curl https://api.speaknotes.io/v1/notes \ -H "Authorization: Bearer sn_live_YOUR_API_KEY"
Le chiavi live iniziano con sn_live_ e agiscono sulla tua libreria reale. Le chiavi sandbox iniziano con sn_test_ e vengono eseguite su un output fisso. Le chiavi emesse prima dell'introduzione degli ambiti funzionano ancora e dispongono di accesso completo.
Ambiti (Scopes)
Ogni chiave e ogni token OAuth possiede degli ambiti. La lettura non implica mai la scrittura, quindi una chiave con ambito notes:read non può eliminare nulla. Una richiesta priva di un ambito riceve un errore 403 che indica cosa manca.
notes:readRead notes, transcripts, and summaries.notes:writeCreate, update, and delete notes.folders:readRead folders.folders:writeCreate, update, and delete folders.transcriptions:writeTranscribe audio and video.summaries:writeGenerate summaries from audio, text, and YouTube URLs.usage:readRead credit balance and usage history.
Limiti di frequenza
I limiti sono conteggiati per credenziale, non per IP, in modo che un'integrazione non possa esaurire le risorse di un'altra. Ogni risposta riporta X-RateLimit-Limit, X-RateLimit-Remaining e X-RateLimit-Reset, e un errore 429 contiene Retry-After.
HTTP/1.1 401 Unauthorized
WWW-Authenticate: Bearer realm="SpeakNotes API", error="invalid_token",
resource_metadata="https://api.speaknotes.io/.well-known/oauth-protected-resource"
{
"error": {
"type": "authentication_error",
"code": "invalid_token",
"message": "The API key is invalid, expired, or revoked.",
"doc_url": "https://speaknotes.io/developers/errors#invalid_token"
}
}OAuth
Stai creando qualcosa a cui gli utenti di SpeakNotes devono accedere? Usa OAuth invece di chiedere loro di incollare una chiave. /developers/oauth
Rotazione e revoca
Una chiave viene mostrata una sola volta, al momento della creazione, e archiviata solo come hash. La revoca ha effetto immediato. Alle chiavi può anche essere assegnata una data di scadenza al momento della creazione.