J'utilise l'API Google Translate en C#. Le code suivant, exécuté localement sur mon ordinateur, fonctionne, mais en ligne sur un serveur, il génère l'erreur suivante :
using Google.Cloud.Translation.V2;
TranslationClient client = TranslationClient.Create();
var response = client.TranslateText(sentence, targetLanguage, sourceLanguage: sourceLanguage);
"Les informations d'identification par défaut de l'application ne sont pas disponibles. Ils sont disponibles s'ils sont exécutés dans Google Compute Engine. Sinon, la variable d'environnement GOOGLE_APPLICATION_CREDENTIALS doit être définie et pointer vers un fichier définissant les informations d'identification. Voir https://developers.google.com/accounts/docs/application-default-credentials pour plus d'informations."
Localement, cela fonctionne simplement en installant Cloud SDK Installer qui effectue tous les réglages, il n'y a pas besoin d'authentification dans le code. Sur le serveur, dois-je utiliser OAuth 2.0 ou les clés de compte de service ?
Quelqu'un peut-il m'aider à résoudre ce problème ?
EDIT : Quelqu'un peut-il me confirmer s'il est nécessaire d'avoir accès au serveur local pour exécuter des commandes en ligne de commande comme ici. https://cloud.google.com/storage/docs/authentication ? Ce serait assez ridicule, au lieu de simplement écrire du code. Par exemple, l'API de Youtube ne nécessite pas d'accès local.