Je configure un serveur Node.JS pour utiliser l'API Google Traduction. Jusqu'à présent, je l'ai fait ce qui suit:Compte de service Google Translate 403 Erreur dailyLimitExceeded
- Mettre en place un compte Google
- Ajouter une carte de crédit et activer la facturation
- Créer un projet
- Activer Google Translate API pour le projet
- Créer deux compte de service pour le projet * et sauvegarde des fichiers de clé JSON
* Un compte de service pour le développement local et un compte pour l'application déployée.
Exemple de code (Tapuscrit):
import * as Translate from '@google-cloud/translate';
export async function translate(text: string, to: string): Promise<string> {
let translation = '';
const googleTranslate = Translate({
projectId: PROJECT_ID,
keyFilename: PATH/TO/KEY_FILE
});
const response = await googleTranslate.translate(text, to);
if (Array.isArray(response[0])) {
for (let t of response[0]) {
translation += t;
}
}
else {
translation = response[0];
}
return translation;
}
Je l'ai testé à la fois la clé locale et dev sur mon poste de travail et traduit avec succès. Cependant, il ne fonctionne pas dans un environnement déployé (machine différente, IP dynamique). L'erreur suivante se produit:
réponse d'erreur:
{
domain: 'usageLimits',
reason: 'dailyLimitExceeded',
message: 'This API requires billing to be enabled on the project. Visit https://console.developers.google.com/billing?project=GOOGLE_PROJECT_ID to enable billing.',
extendedHelp: 'https://console.developers.google.com/billing?project=project=GOOGLE_PROJECT_ID'
}
La facturation est activée alors qu'est-ce que je manque?