2
respostas

API bad request

Esse é o meu código:

import { GoogleGenerativeAI } from '@google/generative-ai';
import { fazerPergunta } from './pergunta.js';
import { perguntar } from './perguntaLivre.js';
import { consultar } from './consultaDestino.js';
import dotenv from 'dotenv';

dotenv.config();

// criar a chave de api pra acessar via variavel de ambiente
const genAI = new GoogleGenerativeAI(process.env.GEMINI_API_KEY);

async function principal() {
  const escolha = await fazerPergunta(`Escolha uma das opções abaixo: \n
  1. Fazer uma pergunta livre sobre um destino;
  2. Comparação de destinos por categorias;
  \nOpção desejada: `);

  if (escolha === '1') {
    await perguntar();
  } else if (escolha === '2') {
    await consultar();
  } else {
    console.log('Escolha inválida.');
  }
}

principal();

Esse é o erro:

GoogleGenerativeAIFetchError: [GoogleGenerativeAI Error]: Error fetching from https://generativelanguage.googleapis.com/v1beta/models/gemini-1.5-pro-latest:generateContent: [400 Bad Request] API key not valid. Please pass a valid API key. [{"@type":"type.googleapis.com/google.rpc.ErrorInfo","reason":"API_KEY_INVALID","domain":"googleapis.com","metadata":{"service":"generativelanguage.googleapis.com"}}] at _makeRequestInternal (file:///C:/Users/User/Documents/alurachat/node_modules/@google/generative-ai/dist/index.mjs:351:19) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async generateContent (file:///C:/Users/User/Documents/alurachat/node_modules/@google/generative-ai/dist/index.mjs:750:22) at async perguntar (file:///C:/Users/User/Documents/alurachat/perguntaLivre.js:15:18) at async principal (file:///C:/Users/User/Documents/alurachat/indexi.js:19:5) { status: 400, statusText: 'Bad Request', errorDetails: [ { '@type': 'type.googleapis.com/google.rpc.ErrorInfo', reason: 'API_KEY_INVALID', domain: 'googleapis.com', metadata: { service: 'generativelanguage.googleapis.com' } } ] }

Node.js v20.14.0

Criei um .env e coloquei a variavel de ambiente dentro do env. Como posso resolver?

2 respostas

Oii, Kayma! Tudo bem?

O erro "API key not valid" indica que a chave de API que você está usando é inválida ou foi revogada. Tendo isso como base, vamos verificar alguns pontos que podem causar isso:

  • Certifique-se de que a chave da API está correta e foi copiada corretamente para o arquivo .env. Ela deve estar no formato correto, sem espaços extras ou caracteres incorretos.

  • Verifique se de que o arquivo .env está na raiz do seu projeto e que está sendo carregado corretamente pelo dotenv. E se há algum problema de formatação ou caracteres invisíveis no arquivo .env.

  • Gere uma nova chave, neste artigo do Gemini você pode acompanhar o passo a passo.

  • Após criar uma nova chave de API válida, atualize a GEMINI_API_KEY variável de ambiente em seu .env arquivo com a nova chave. A chave precisar estar entre aspas duplas.

  • Reinicie seu Node. js para garantir que ele receba a nova chave de API.

Espero que as sugestões te ajude. Qualquer dúvida, conte conosco.

Bons estudos, Kayma!

Obrigado por compartilhar