使用 Gemini API 密钥

如需使用 Gemini API,您需要一个 API 密钥。您只需在 Google AI Studio 中点击几下,即可免费创建密钥。

获得 API 密钥后,您可以通过以下方式连接到 Gemini API:

对于初始测试,您可以对 API 密钥进行硬编码,但这应该只是暂时性的,因为这样做不安全。如需查看对 API 密钥进行硬编码的示例,请参阅显式提供 API 密钥

将 API 密钥设置为环境变量

如果您设置了环境变量 GEMINI_API_KEYGOOGLE_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

  1. 在系统设置中搜索“环境变量”
  2. 修改“用户变量”(适用于当前用户)或“系统变量”(适用于所有用户,请谨慎使用)。
  3. 创建变量并添加 export GEMINI_API_KEY=your_key_here
  4. 应用更改

显式提供 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。

如需了解一些常规最佳实践,您还可以参阅这篇支持文章