0
我遇到了一個問題,我可以在作爲控制檯應用程序運行時進行身份驗證。但是,當我使它成爲Windows服務並安裝它時,我無法進行身份驗證。我使用了日誌調試語句來隔離問題。C#Google API身份驗證
UserCredential credential = GoogleWebAuthorizationBroker.AuthorizeAsync(
new ClientSecrets {
ClientId = "myClientId",
ClientSecret = "myClientSecret"
},
new[] {
CalendarService.Scope.Calendar
},
"myProjectName",
CancellationToken.None,
new FileDataStore("myProjectName")
).Result;
問題出在上述說法。這被try/catch包圍,但沒有拋出異常。在此之後立即有一個日誌語句,但它永遠不會執行。我最好的猜測是問題出在FileDataStore上。默認情況下,Google存儲的是%AppData%,當我手動運行它時,我的程序可以找到它,但是當它是Web服務時,我不得不給它一個類似本地系統或本地服務的帳戶類型,我需要將其設置爲用戶I認爲。我的猜測是,這可以防止它找到%AppData%中的文件。有沒有人有任何建議如何幫助Windows服務找到%AppData%?或者在這種情況下Windows服務是一種糟糕的方法?
非常感謝您的幫助。