如需使用 Gemini API,您需要一个 API 密钥。您只需在 Google AI Studio 中点击几下,即可免费创建密钥。
获得 API 密钥后,您可以通过以下方式连接到 Gemini API:
对于初始测试,您可以对 API 密钥进行硬编码,但这应该只是暂时性的,因为这样做不安全。如需查看对 API 密钥进行硬编码的示例,请参阅显式提供 API 密钥。
将 API 密钥设置为环境变量
如果您设置了环境变量 GEMINI_API_KEY
或 GOOGLE_API_KEY
,则客户端在使用某个 Gemini API 库时会自动提取 API 密钥。建议您仅设置其中一个变量,但如果同时设置这两个变量,则 GOOGLE_API_KEY
具有优先权。
如果您使用的是 REST API 或浏览器上的 JavaScript,则需要明确提供 API 密钥。
下面介绍了如何在不同操作系统中将 API 密钥本地设置为环境变量 GEMINI_API_KEY
。
Linux/macOS - Bash
Bash 是常见的 Linux 和 macOS 终端配置。您可以通过运行以下命令来检查是否有相应的配置文件:
~/.bashrc
如果响应为“No such file or directory”(没有此类文件或目录),您需要运行以下命令创建此文件并将其打开,或使用 zsh
:
touch ~/.bashrc
open ~/.bashrc
接下来,您需要添加以下导出命令来设置 API 密钥:
export GEMINI_API_KEY=<YOUR_API_KEY_HERE>
保存文件后,通过运行以下命令来应用更改:
source ~/.bashrc
macOS - Zsh
Zsh 是常见的 Linux 和 macOS 终端配置。您可以通过运行以下命令来检查是否有相应的配置文件:
~/.zshrc
如果响应为“No such file or directory”(没有此类文件或目录),您需要运行以下命令创建此文件并将其打开,或使用 bash
:
touch ~/.zshrc
open ~/.zshrc
接下来,您需要添加以下导出命令来设置 API 密钥:
export GEMINI_API_KEY=<YOUR_API_KEY_HERE>
保存文件后,通过运行以下命令来应用更改:
source ~/.zshrc
Windows
- 在系统设置中搜索“环境变量”
- 修改“用户变量”(适用于当前用户)或“系统变量”(适用于所有用户,请谨慎使用)。
- 创建变量并添加
export GEMINI_API_KEY=your_key_here
- 应用更改
显式提供 API 密钥
在某些情况下,您可能需要明确提供 API 密钥。例如:
- 您要进行简单的 API 调用,并且更倾向于对 API 密钥进行硬编码。
- 您希望进行明确控制,而不必依赖于 Gemini API 库自动发现环境变量
- 您使用的环境不支持环境变量(例如 Web),或者您正在进行 REST 调用。
以下示例展示了如何显式提供 API 密钥:
Python
from google import genai
client = genai.Client(api_key="YOUR_API_KEY")
response = client.models.generate_content(
model="gemini-2.5-flash", contents="Explain how AI works in a few words"
)
print(response.text)
JavaScript
import { GoogleGenAI } from "@google/genai";
const ai = new GoogleGenAI({ apiKey: "YOUR_API_KEY" });
async function main() {
const response = await ai.models.generateContent({
model: "gemini-2.5-flash",
contents: "Explain how AI works in a few words",
});
console.log(response.text);
}
main();
Go
package main
import (
"context"
"fmt"
"log"
"google.golang.org/genai"
)
func main() {
ctx := context.Background()
client, err := genai.NewClient(ctx, &genai.ClientConfig{
APIKey: "YOUR_API_KEY",
Backend: genai.BackendGeminiAPI,
})
if err != nil {
log.Fatal(err)
}
result, err := client.Models.GenerateContent(
ctx,
"gemini-2.5-flash",
genai.Text("Explain how AI works in a few words"),
nil,
)
if err != nil {
log.Fatal(err)
}
fmt.Println(result.Text())
}
Java
package com.example;
import com.google.genai.Client;
import com.google.genai.types.GenerateContentResponse;
public class GenerateTextFromTextInput {
public static void main(String[] args) {
Client client = Client.builder().apiKey("YOUR_API_KEY").build();
GenerateContentResponse response =
client.models.generateContent(
"gemini-2.5-flash",
"Explain how AI works in a few words",
null);
System.out.println(response.text());
}
}
REST
curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent?key=$YOUR_API_KEY" \
-H 'Content-Type: application/json' \
-X POST \
-d '{
"contents": [
{
"parts": [
{
"text": "Explain how AI works in a few words"
}
]
}
]
}'
确保 API 密钥的安全
请务必确保 Gemini API 密钥的安全。在使用 Gemini API 密钥时,请注意以下事项:
Google AI Gemini API 使用 API 密钥进行授权。如果其他人获得了您的 Gemini API 密钥的访问权限,他们不仅可以使用您项目的配额进行调用,还可能会导致配额耗尽或产生额外费用(对于已启用结算功能的项目),
添加 API 密钥限制有助于限制每个 API 密钥可使用的范围。
您有责任确保 Gemini API 密钥的安全。
- 请勿将 Gemini API 密钥签入源代码控制系统。
- 客户端应用(Web 和 Dart/Flutter)可能会泄露 API 密钥。 我们不建议在正式版应用中使用 Google AI 客户端 SDK 直接从 Web 应用调用 Google AI Gemini API。
如需了解一些常规最佳实践,您还可以参阅这篇支持文章。