การตรวจสอบสิทธิ์ SpeakNotes API
API รองรับข้อมูลประจำตัวสามประเภท: API key, OAuth access token หรือ Firebase ID token จากเซสชันที่ลงชื่อเข้าใช้แล้ว
API keys
ส่งคีย์ในรูปแบบ bearer token ในทุกคำขอ บัญชีที่ลงชื่อเข้าใช้แล้วสามารถสร้างคีย์ได้และใช้งานได้ทันที
curl https://api.speaknotes.io/v1/notes \ -H "Authorization: Bearer sn_live_YOUR_API_KEY"
คีย์จริง (Live keys) จะขึ้นต้นด้วย sn_live_ และทำงานกับไลบรารีจริงของคุณ คีย์ทดสอบ (Sandbox keys) จะขึ้นต้นด้วย sn_test_ และทำงานกับผลลัพธ์ที่กำหนดไว้ คีย์ที่ออกก่อนที่จะมีระบบขอบเขตยังคงใช้งานได้และมีสิทธิ์เข้าถึงเต็มรูปแบบ
ขอบเขต (Scopes)
คีย์และ OAuth token ทุกรายการจะมีขอบเขตกำกับ การอ่านไม่รวมถึงการเขียน ดังนั้นคีย์ที่มีขอบเขต 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.
ขีดจำกัดอัตรา (Rate limits)
ขีดจำกัดจะนับตามข้อมูลประจำตัว ไม่ใช่ตาม 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
การหมุนเวียนและการเพิกถอน
คีย์จะแสดงเพียงครั้งเดียวตอนสร้างและจัดเก็บในรูปแบบแฮชเท่านั้น การเพิกถอนจะมีผลทันที คีย์สามารถกำหนดวันหมดอายุได้เมื่อคุณสร้างขึ้น