C# windows服务中的GoolgleDrive身份验证

C# windows服务中的GoolgleDrive身份验证,c#,google-api,google-drive-api,windows-services,google-api-dotnet-client,C#,Google Api,Google Drive Api,Windows Services,Google Api Dotnet Client,我正在创建Windows服务,并尝试使用以下代码验证Google Drive。它在控制台应用程序中运行良好,但在windows服务中不起作用。断点将控件留在“GoogleWebAuthorizationBroker.AuthorizationAsyn”方法 请确保您运行windows服务的任何帐户都可以访问您的credPath目录是的,我已检查路径是否正确。.credential目录已创建,但未生成令牌文件。这不是我要说的。安装windows服务时,它将在用户下运行。该用户需要有权访问该目录。右

我正在创建Windows服务,并尝试使用以下代码验证Google Drive。它在控制台应用程序中运行良好,但在windows服务中不起作用。断点将控件留在“GoogleWebAuthorizationBroker.AuthorizationAsyn”方法


请确保您运行windows服务的任何帐户都可以访问您的credPath目录是的,我已检查路径是否正确。.credential目录已创建,但未生成令牌文件。这不是我要说的。安装windows服务时,它将在用户下运行。该用户需要有权访问该目录。右键单击服务,转到登录选项卡。如果是本地系统帐户,则可能无法访问。将其设置为具有访问权限的特定帐户。@DaImTo我已更改了帐户,现在它会抛出一个类似“拒绝访问”的错误。@DaImTo非常感谢您……这是它的工作。我删除FileDataStore(credPath,true)第二个参数true及其工作!!!请确保您运行windows服务的任何帐户都可以访问您的credPath目录是的,我已检查路径是否正确。.credential目录已创建,但未生成令牌文件。这不是我要说的。安装windows服务时,它将在用户下运行。该用户需要有权访问该目录。右键单击服务,转到登录选项卡。如果是本地系统帐户,则可能无法访问。将其设置为具有访问权限的特定帐户。@DaImTo我已更改了帐户,现在它会抛出一个类似“拒绝访问”的错误。@DaImTo非常感谢您……这是它的工作。我删除FileDataStore(credPath,true)第二个参数true及其工作!!!
 using (var stream =
            new FileStream("client_secret.json", FileMode.Open, FileAccess.Read))
        {
            string credPath = System.Environment.GetFolderPath(
                System.Environment.SpecialFolder.Personal);
            credPath = Path.Combine(credPath, ".credentials/drive-dotnet-quickstart.json");

            credential = GoogleWebAuthorizationBroker.AuthorizeAsync(
                GoogleClientSecrets.Load(stream).Secrets,
                Scopes,
                "user",
                CancellationToken.None,
                new FileDataStore(credPath, true)).Result;
            Console.WriteLine("Credential file saved to: " + credPath);
        }