Аутентификация API SpeakNotes
API принимает три типа учетных данных: API-ключ, токен доступа OAuth или ID-токен Firebase от активной сессии.
API-ключи
Отправляйте ключ в качестве токена bearer в каждом запросе. Любая учетная запись может создать ключ, и он сразу начнет работать.
curl https://api.speaknotes.io/v1/notes \ -H "Authorization: Bearer sn_live_YOUR_API_KEY"
Реальные ключи начинаются с sn_live_ и работают с вашей реальной библиотекой. Ключи sandbox начинаются с sn_test_ и работают с фиксированными выходными данными. Ключи, выпущенные до появления областей действия (scopes), продолжают работать и имеют полный доступ.
Области действия (Scopes)
Каждый ключ и каждый токен OAuth имеют свои области действия. Чтение никогда не подразумевает запись, поэтому ключ с доступом notes:read не может ничего удалить. Запрос, в котором отсутствует необходимая область действия, получит ошибку 403 с указанием того, чего не хватает.
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.
Лимиты запросов
Лимиты рассчитываются для каждой учетной записи, а не для IP-адреса, поэтому одна интеграция не может заблокировать другую. Каждый ответ содержит заголовки X-RateLimit-Limit, X-RateLimit-Remaining и X-RateLimit-Reset, а код 429 содержит заголовок 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
Создаете приложение, в которое входят пользователи SpeakNotes? Используйте OAuth вместо того, чтобы просить их вставлять ключ. /developers/oauth
Ротация и отзыв
Ключ отображается один раз, при создании, и хранится только в виде хеша. Отзыв ключа вступает в силу немедленно. При создании ключам также можно задать дату истечения срока действия.