认证
每个 amodb 请求带一个 32 位小写十六进制密钥。TMDB 风格用 api_key 或 Bearer 请求头,OMDb 风格用 apikey。图片无需密钥。错误密钥返回 401 和 status_code 7,被暂停则为 10。
密钥格式
密钥是 32 位小写十六进制字符,例如 0123456789abcdef0123456789abcdef。它与 TMDB v3 密钥的形式相同,所以为 TMDB 密钥构建的输入框和校验器都能接受它。
amodb 只存储每个密钥的 SHA-256 哈希。完整密钥只在创建时显示一次。如果丢失,请删除它并创建新的。
TMDB 风格的调用
用两种方式之一发送密钥。两种方式在 https:/ 下的每个接口都有效。
| 方式 | 示例 |
|---|---|
| 查询参数 | ?api_key=YOUR_KEY |
| 请求头 | Authorization: Bearer YOUR_ |
curl "https://api.amodb.dev/3/configuration" \
-H "Authorization: Bearer $AMODB_KEY"const res = await fetch("https://api.amodb.dev/3/configuration", {
headers: { Authorization: `Bearer ${process.env.AMODB_KEY}` },
});import os
import requests
res = requests.get(
"https://api.amodb.dev/3/configuration",
headers={"Authorization": f"Bearer {os.environ['AMODB_KEY']}"},
timeout=10,
)<?php
$url = "https://api.amodb.dev/3/configuration?api_key=" . urlencode(getenv("AMODB_KEY"));
$config = json_decode(file_get_contents($url), true);req, _ := http.NewRequest("GET", "https://api.amodb.dev/3/configuration", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("AMODB_KEY"))
res, err := http.DefaultClient.Do(req)OMDb 风格的调用
兼容 OMDb 的接口与 OMDb 一样,用 apikey 接收密钥。它与你用于 TMDB 风格调用的是同一个密钥。
curl "https://api.amodb.dev/omdb/?t=Inception&y=2010&apikey=$AMODB_KEY"图片不需要密钥
img.amodb.dev 上的图片 URL 是公开的。不要把密钥加到图片 URL 上:<img> 标签会把密钥暴露给每一位访客。
把密钥留在服务器上
浏览器打包文件、移动应用或公开仓库中的密钥就是公开的。任何复制它的人都会消耗你的请求速率。请从你的服务器、无服务器函数或构建步骤中调用 amodb,只把数据传给客户端。
- 把密钥存放在环境变量或密钥管理服务中。
- 每个应用或环境使用一个密钥,并加上
production或staging这样的标签。 - 密钥一旦泄露,立即删除。使用它的调用会马上失败。
错误
| HTTP | status_code | 含义 |
|---|---|---|
| 401 | 7 | 密钥缺失、格式错误或未知。 |
| 401 | 10 | 密钥已被暂停。请写信至 support@amodb.dev。 |
| 402 | 36 | 你的套餐已过期。请在定价页支付新的周期。 |
全部错误码见错误。