401 / 403
核对凭证、账户状态和分组权限。
按账户给出的基础地址、模型名和协议配置。这里的示例使用 Chat Completions,适用于已开通该接口的渠道。
在模型市场查看价格,再在控制台确认可用线路。创建 API Key,配置在应用的服务端环境变量中。
# Bash / zsh 示例;Windows 可使用下方 Python 示例
# 将 BASE_URL 设为控制台提供的 /v1 地址(不要重复追加 /v1)
# 在本机环境中配置 YOUJIE_API_KEY 和 YOUJIE_MODEL
curl "$YOUJIE_BASE_URL/chat/completions" \
-H "Authorization: Bearer $YOUJIE_API_KEY" \
-H "Content-Type: application/json" \
-d @- <<EOF
{"model":"$YOUJIE_MODEL","messages":[{"role":"user","content":"Hello, 有界"}]}
EOFimport json, os, urllib.request
base = os.environ["YOUJIE_BASE_URL"].rstrip("/")
payload = {
"model": os.environ["YOUJIE_MODEL"],
"messages": [{"role": "user", "content": "Hello, 有界"}]
}
request = urllib.request.Request(
base + "/chat/completions",
data=json.dumps(payload).encode("utf-8"),
headers={
"Authorization": "Bearer " + os.environ["YOUJIE_API_KEY"],
"Content-Type": "application/json"
}
)
with urllib.request.urlopen(request, timeout=60) as response:
print(json.load(response))// Node.js 服务端运行;不要把密钥放入公开网页代码
const base = process.env.YOUJIE_BASE_URL.replace(/\/$/, "");
const response = await fetch(base + "/chat/completions", {
method: "POST",
headers: {
"Authorization": "Bearer " + process.env.YOUJIE_API_KEY,
"Content-Type": "application/json"
},
body: JSON.stringify({
model: process.env.YOUJIE_MODEL,
messages: [{ role: "user", content: "Hello, 有界" }]
})
});
if (!response.ok) throw new Error("HTTP " + response.status);
console.log(await response.json());YOUJIE_BASE_URL:控制台提供的 API 基础地址,通常以 /v1 结尾。
YOUJIE_MODEL:密钥所在分组支持的准确模型名称。
YOUJIE_API_KEY:调用凭证,只放在本机或服务端环境变量中。
| 协议 | 请求路径 | 说明 |
|---|---|---|
| Chat Completions | /v1/chat/completions | 本页示例使用的对话接口 |
| Responses | /v1/responses | 使用对应的请求结构 |
| Messages | /v1/messages | 按渠道配置认证与版本头 |
| Gemini | /v1beta/models/… | 按模型与方法选择操作 |
核对凭证、账户状态和分组权限。
核对模型名、请求结构和地址,避免重复拼接 /v1。
检查额度与频率,按错误响应提示重试。