Google API 1.8.1-Google WebAuthorizationBroker.AuthorizeAsyn



我正在使用GoogleWebAuthorizationBroker.AuthenticationAsync((为GoogleDrive的用户授权。

它可以在控制台或UI应用程序中正常工作,但如果该方法在Windows服务的上下文中执行,则会挂起,即使我之前在控制台模式中获得授权,并且JSON数据存储在提供的FileDataStore中。

我的代码如下:

ClientSecrets secrets = new ClientSecrets { ClientId = CLIENT_ID, ClientSecret = CLIENT_SECRET };
FileDataStore store = new FileDataStore("MyFolder");
UserCredential credential = GoogleWebAuthorizationBroker.AuthorizeAsync(
                    secrets,
                    new string[] {
                        DriveService.Scope.DriveFile,
                        DriveService.Scope.Drive,
                    "user",
                    CancellationToken.None,
                    store).Result;

这个方法在Windows服务下根本不起作用,还是我遗漏了什么?

在Windows服务下,是否有其他方式授权用户?(对于这种情况,我对ServiceAccountCredential不感兴趣(。

提前谢谢。

试试这个:开放服务。转到服务的"属性"。在"登录"选项卡下,选中"允许服务与桌面交互"。

这是任何服务执行任何与UI相关的操作所必需的。

相关内容

  • 没有找到相关文章

最新更新