我在C#中運行Google Translate API。 本地運行在我的電腦上的下一個代碼工作,但網上也引發以下錯誤的服務器上。asp C#應用程序默認憑據不可用
using Google.Cloud.Translation.V2;
TranslationClient client = TranslationClient.Create();
var response = client.TranslateText(sentence, targetLanguage, sourceLanguage: sourceLanguage);
「的應用默認憑據不可用它們可如果谷歌Compute Engine上執行。否則,。必須定義環境變量GOOGLE_APPLICATION_CREDENTIALS,指向定義憑據的文件。有關更多信息,請參閱https://developers.google.com/accounts/docs/application-default-credentials。
本地只運行安裝Cloud SDK安裝程序,它執行所有設置,不需要在代碼中進行身份驗證。 在服務器上,我應該使用OAuth 2.0還是Service帳戶密鑰?
有人可以幫助我解決這個問題嗎?
編輯:有人可以向我確認,如果有必要有權訪問本地服務器在命令行中運行命令如這裏https://cloud.google.com/storage/docs/authentication?這將是相當荒謬的,而不是隻寫代碼。例如Youtube API不需要本地訪問。
「這意味着只需在鏈接中具有API密鑰的端點進行簡單POST即可。」你不需要這樣做 - 你仍然可以使用'TranslationClient',但是調用'TranslationClient.CreateFromApiKey'。 (也就是說,服務帳戶現在比API密鑰更受歡迎。) –