Uwierzytelnianie w API SpeakNotes
API obsługuje trzy rodzaje danych uwierzytelniających: klucz API, token dostępu OAuth lub token Firebase ID z aktywnej sesji użytkownika.
Klucze API
Przesyłaj klucz jako token bearer w każdym żądaniu. Każde zalogowane konto może go utworzyć i działa on natychmiast.
curl https://api.speaknotes.io/v1/notes \ -H "Authorization: Bearer sn_live_YOUR_API_KEY"
Klucze produkcyjne zaczynają się od sn_live_ i działają na Twojej rzeczywistej bibliotece. Klucze testowe zaczynają się od sn_test_ i działają na stałych danych wyjściowych. Klucze wydane przed wprowadzeniem zakresów nadal działają i mają pełny dostęp.
Zakresy (Scopes)
Każdy klucz i każdy token OAuth posiada określone zakresy. Odczyt nigdy nie oznacza zapisu, więc klucz z zakresem notes:read nie może niczego usunąć. Żądanie bez wymaganego zakresu otrzyma błąd 403 z informacją o brakującym uprawnieniu.
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.
Limity żądań
Limity są liczone dla każdego zestawu danych uwierzytelniających, a nie dla adresu IP, więc jedna integracja nie wpłynie na drugą. Każda odpowiedź zawiera nagłówki X-RateLimit-Limit, X-RateLimit-Remaining oraz X-RateLimit-Reset, a błąd 429 zawiera nagłówek 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
Tworzysz aplikację, do której logują się inni użytkownicy SpeakNotes? Użyj OAuth zamiast prosić ich o wklejenie klucza. /developers/oauth
Rotacja i unieważnianie
Klucz jest wyświetlany tylko raz, podczas tworzenia, i przechowywany wyłącznie jako skrót. Unieważnienie klucza następuje natychmiast. Podczas tworzenia klucza można również ustawić datę jego wygaśnięcia.