Për testimin fillestar, mund të kodoni një çelës API, por ky duhet të jetë vetëm i përkohshëm pasi nuk është i sigurt. Mund të gjeni shembuj për kodimin e fortë të çelësit API në seksionin Sigurimi i çelësit API në mënyrë eksplicite .
Vendosja e çelësit API si ndryshore mjedisore
Nëse vendosni variablin e mjedisit GEMINI_API_KEY ose GOOGLE_API_KEY , çelësi API do të merret automatikisht nga klienti kur përdorni një nga bibliotekat e API-së Gemini . Rekomandohet që të vendosni vetëm një nga ato variabla, por nëse të dyja janë vendosur, GOOGLE_API_KEY ka përparësi.
Nëse jeni duke përdorur API REST, ose JavaScript në shfletues, do t'ju duhet të jepni në mënyrë eksplicite çelësin API.
Ja se si mund ta vendosni çelësin tuaj API në nivel lokal si variablin e mjedisit GEMINI_API_KEY me sisteme të ndryshme operative.
Linux/macOS - Bash
Bash është një konfigurim i zakonshëm i terminalit Linux dhe macOS. Ju mund të kontrolloni nëse keni një skedar konfigurimi për të duke ekzekutuar komandën e mëposhtme:
~/.bashrc
Nëse përgjigja është "Nuk ka skedar ose direktori të tillë", do t'ju duhet ta krijoni këtë skedar dhe ta hapni atë duke ekzekutuar komandat e mëposhtme ose përdorni zsh :
touch~/.bashrcopen~/.bashrc
Më pas, duhet të vendosni çelësin tuaj API duke shtuar komandën e mëposhtme të eksportit:
exportGEMINI_API_KEY=<YOUR_API_KEY_HERE>
Pas ruajtjes së skedarit, aplikoni ndryshimet duke ekzekutuar:
source~/.bashrc
macOS - Zsh
Zsh është një konfigurim i zakonshëm i terminalit Linux dhe macOS. Ju mund të kontrolloni nëse keni një skedar konfigurimi për të duke ekzekutuar komandën e mëposhtme:
~/.zshrc
Nëse përgjigja është "Nuk ka skedar ose drejtori të tillë", do t'ju duhet ta krijoni këtë skedar dhe ta hapni atë duke ekzekutuar komandat e mëposhtme ose të përdorni bash :
touch~/.zshrcopen~/.zshrc
Më pas, duhet të vendosni çelësin tuaj API duke shtuar komandën e mëposhtme të eksportit:
exportGEMINI_API_KEY=<YOUR_API_KEY_HERE>
Pas ruajtjes së skedarit, aplikoni ndryshimet duke ekzekutuar:
source~/.zshrc
Dritaret
Kërkoni "Ndryshoret e Mjedisit" në cilësimet e sistemit
Ndryshoni ose "Ndryshoret e përdoruesit" (për përdoruesin aktual) ose "Ndryshoret e sistemit" (për të gjithë përdoruesit - përdorni me kujdes).
Krijo variablin dhe shto export GEMINI_API_KEY=your_key_here
Aplikoni ndryshimet
Sigurimi i çelësit API në mënyrë eksplicite
Në disa raste, mund të dëshironi të jepni në mënyrë eksplicite një çelës API. Për shembull:
Ju jeni duke bërë një thirrje të thjeshtë API dhe preferoni kodimin e fortë të çelësit API.
Ju dëshironi kontroll të qartë pa pasur nevojë të mbështeteni në zbulimin automatik të variablave të mjedisit nga bibliotekat Gemini API
Jeni duke përdorur një mjedis ku variablat e mjedisit nuk mbështeten (p.sh. ueb) ose jeni duke bërë thirrje REST.
Më poshtë janë shembuj se si mund të siguroni një çelës API në mënyrë eksplicite:
Python
fromgoogleimportgenaiclient=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";constai=newGoogleGenAI({apiKey:"YOUR_API_KEY"});asyncfunctionmain(){constresponse=awaitai.models.generateContent({model:"gemini-2.5-flash",contents:"Explain how AI works in a few words",});console.log(response.text);}main();
Shkoni
packagemainimport("context""fmt""log""google.golang.org/genai")funcmain(){ctx:=context.Background()client,err:=genai.NewClient(ctx,&genai.ClientConfig{APIKey:"YOUR_API_KEY",Backend:genai.BackendGeminiAPI,})iferr!=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,)iferr!=nil{log.Fatal(err)}fmt.Println(result.Text())}
Java
packagecom.example;importcom.google.genai.Client;importcom.google.genai.types.GenerateContentResponse;publicclassGenerateTextFromTextInput{publicstaticvoidmain(String[]args){Clientclient=Client.builder().apiKey("YOUR_API_KEY").build();GenerateContentResponseresponse=client.models.generateContent("gemini-2.5-flash","Explain how AI works in a few words",null);System.out.println(response.text());}}
PUSHIMI
curl"https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent?key=$YOUR_API_KEY"\-H'Content-Type: application/json'\-XPOST\-d'{ "contents": [ { "parts": [ { "text": "Explain how AI works in a few words" } ] } ] }'
Mbajeni të sigurt çelësin tuaj API
Trajtojeni çelësin tuaj API të Gemini si një fjalëkalim. Nëse rrezikohet, të tjerët mund të përdorin kuotën e projektit tuaj, të pësojnë tarifa (nëse faturimi është i aktivizuar) dhe të kenë akses në të dhënat tuaja private, si p.sh. skedarët.
Rregullat kritike të sigurisë
Asnjëherë mos i vendosni çelësat API për kontrollin e burimit. Mos e kontrolloni çelësin tuaj API në sistemet e kontrollit të versioneve si Git.
Asnjëherë mos ekspozoni çelësat API në anën e klientit. Mos e përdorni çelësin tuaj API direkt në ueb ose aplikacione celulare në prodhim. Çelësat në kodin e klientit (duke përfshirë bibliotekat tona JavaScript/TypeScript dhe thirrjet REST) mund të nxirren.
Praktikat më të mira
Përdorni telefonatat nga ana e serverit me çelësat API Mënyra më e sigurt për të përdorur çelësin tuaj API është të telefononi Gemini API nga një aplikacion nga ana e serverit ku çelësi mund të mbahet konfidencial.
Përdorni shenja kalimtare për akses nga ana e klientit (vetëm API Live): Për qasje të drejtpërdrejtë nga ana e klientit në API Live, mund të përdorni shenja kalimtare. Ato vijnë me rreziqe më të ulëta sigurie dhe mund të jenë të përshtatshme për përdorim në prodhim. Shqyrtoni udhëzuesin e shenjave kalimtare për më shumë informacion.
Merrni parasysh shtimin e kufizimeve në çelësin tuaj: Mund të kufizoni lejet e një çelësi duke shtuar kufizime të çelësit API . Kjo minimizon dëmtimin e mundshëm nëse çelësi rrjedh ndonjëherë.
Për disa praktika të përgjithshme më të mira, mund të rishikoni gjithashtu këtë artikull mbështetës .
[[["E lehtë për t'u kuptuar","easyToUnderstand","thumb-up"],["E zgjidhi problemin tim","solvedMyProblem","thumb-up"],["Tjetër","otherUp","thumb-up"]],[["Mungojnë informacionet që më nevojiten","missingTheInformationINeed","thumb-down"],["Shumë e ndërlikuar/shumë hapa","tooComplicatedTooManySteps","thumb-down"],["E papërditësuar","outOfDate","thumb-down"],["Problem përkthimi","translationIssue","thumb-down"],["Problem me kampionët/kodin","samplesCodeIssue","thumb-down"],["Tjetër","otherDown","thumb-down"]],["Përditësimi i fundit: 2025-08-22 UTC."],[],[],null,["To use the Gemini API, you need an API key. You can create a key for free with a\nfew clicks in [Google AI Studio](https://aistudio.google.com/app/apikey).\n\nOnce you have an API key, you have the following options to connect to the\nGemini API:\n\n- [Setting your API key as an environment variable](#set-api-env-var)\n- [Providing your API key explicitly](#provide-api-key-explicitly)\n\nFor initial testing, you can hard code an API key, but this should only be\ntemporary since it's not secure. You can find examples for hard coding the API\nkey in [Providing API key explicitly](#provide-api-key-explicitly) section.\n\nSetting API key as environment variable\n\nIf you set the environment variable `GEMINI_API_KEY` or `GOOGLE_API_KEY`, the\nAPI key will automatically be picked up by the client when using one of the\n[Gemini API libraries](/gemini-api/docs/libraries). It's recommended that you\nset only one of those variables, but if both are set, `GOOGLE_API_KEY` takes\nprecedence.\n\nIf you're using the REST API, or JavaScript on the browser, you will need to\nprovide the API key explicitly.\n\nHere is how you can set your API key locally as the environment variable\n`GEMINI_API_KEY` with different operating systems. \n\nLinux/macOS - Bash\n\nBash is a common Linux and macOS terminal configuration. You can check if\nyou have a configuration file for it by running the following command: \n\n ~/.bashrc\n\nIf the response is \"No such file or directory\", you will need to create this\nfile and open it by running the following commands, or use `zsh`: \n\n touch ~/.bashrc\n open ~/.bashrc\n\nNext, you need to set your API key by adding the following export command: \n\n export GEMINI_API_KEY=\u003cYOUR_API_KEY_HERE\u003e\n\nAfter saving the file, apply the changes by running: \n\n source ~/.bashrc\n\nmacOS - Zsh\n\nZsh is a common Linux and macOS terminal configuration. You can check if\nyou have a configuration file for it by running the following command: \n\n ~/.zshrc\n\nIf the response is \"No such file or directory\", you will need to create this\nfile and open it by running the following commands, or use `bash`: \n\n touch ~/.zshrc\n open ~/.zshrc\n\nNext, you need to set your API key by adding the following export command: \n\n export GEMINI_API_KEY=\u003cYOUR_API_KEY_HERE\u003e\n\nAfter saving the file, apply the changes by running: \n\n source ~/.zshrc\n\nWindows\n\n1. Search for \"Environment Variables\" in the system settings\n2. Edit either \"User variables\" (for current user) or \"System variables\" (for all users - use with caution).\n3. Create the variable and add `export GEMINI_API_KEY=your_key_here`\n4. Apply the changes\n\nProviding API key explicitly\n\nIn some cases, you may want to explicitly provide an API key. For example:\n\n- You're doing a simple API call and prefer hard coding the API key.\n- You want explicit control without having to rely on automatic discovery of environment variables by the Gemini API libraries\n- You're using an environment where environment variables are not supported (e.g web) or you are making REST calls.\n\nBelow are examples for how you can provide an API key explicitly: \n\nPython \n\n from google import genai\n\n client = genai.Client(api_key=\"\u003cvar translate=\"no\"\u003eYOUR_API_KEY\u003c/var\u003e\")\n\n response = client.models.generate_content(\n model=\"gemini-2.5-flash\", contents=\"Explain how AI works in a few words\"\n )\n print(response.text)\n\nJavaScript \n\n import { GoogleGenAI } from \"@google/genai\";\n\n const ai = new GoogleGenAI({ apiKey: \"\u003cvar translate=\"no\"\u003eYOUR_API_KEY\u003c/var\u003e\" });\n\n async function main() {\n const response = await ai.models.generateContent({\n model: \"gemini-2.5-flash\",\n contents: \"Explain how AI works in a few words\",\n });\n console.log(response.text);\n }\n\n main();\n\nGo \n\n package main\n\n import (\n \"context\"\n \"fmt\"\n \"log\"\n \"google.golang.org/genai\"\n )\n\n func main() {\n ctx := context.Background()\n client, err := genai.NewClient(ctx, &genai.ClientConfig{\n APIKey: \"\u003cvar translate=\"no\"\u003eYOUR_API_KEY\u003c/var\u003e\",\n Backend: genai.BackendGeminiAPI,\n })\n if err != nil {\n log.Fatal(err)\n }\n\n result, err := client.Models.GenerateContent(\n ctx,\n \"gemini-2.5-flash\",\n genai.Text(\"Explain how AI works in a few words\"),\n nil,\n )\n if err != nil {\n log.Fatal(err)\n }\n fmt.Println(result.Text())\n }\n\nJava \n\n package com.example;\n\n import com.google.genai.Client;\n import com.google.genai.types.GenerateContentResponse;\n\n public class GenerateTextFromTextInput {\n public static void main(String[] args) {\n Client client = Client.builder().apiKey(\"\u003cvar translate=\"no\"\u003eYOUR_API_KEY\u003c/var\u003e\").build();\n\n GenerateContentResponse response =\n client.models.generateContent(\n \"gemini-2.5-flash\",\n \"Explain how AI works in a few words\",\n null);\n\n System.out.println(response.text());\n }\n }\n\nREST \n\n curl \"https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent?key=$\u003cvar translate=\"no\"\u003eYOUR_API_KEY\u003c/var\u003e\" \\\n -H 'Content-Type: application/json' \\\n -X POST \\\n -d '{\n \"contents\": [\n {\n \"parts\": [\n {\n \"text\": \"Explain how AI works in a few words\"\n }\n ]\n }\n ]\n }'\n\nKeep your API key secure\n\nTreat your Gemini API key like a password. If compromised, others can use your\nproject's quota, incur charges (if billing is enabled), and access your\nprivate data, such as files.\n\nCritical security rules\n\n- **Never commit API keys to source control.** Do not check your API key into version control systems like Git.\n\n- **Never expose API keys on the client-side.** Do not use your API key directly\n in web or mobile apps in production. Keys in client-side code\n (including our JavaScript/TypeScript libraries and REST calls) can be\n extracted.\n\nBest practices\n\n- **Use server-side calls with API keys** The most secure way to use your API\n key is to call the Gemini API from a server-side application where the key\n can be kept confidential.\n\n- **Use ephemeral tokens for client-side access (Live API only):** For direct\n client-side access to the Live API, you can use ephemeral tokens. They come with\n lower security risks and can be suitable for production use. Review\n [ephemeral tokens](/gemini-api/docs/ephemeral-tokens) guide for more information.\n\n- **Consider adding restrictions to your key:** You can limit a key's permissions\n by adding [API key restrictions](https://cloud.google.com/api-keys/docs/add-restrictions-api-keys#add-api-restrictions).\n This minimizes the potential damage if the key is ever leaked.\n\nFor some general best practices, you can also review this\n[support article](https://support.google.com/googleapi/answer/6310037)."]]