C# windows服务中的GoolgleDrive身份验证
我正在创建Windows服务,并尝试使用以下代码验证Google Drive。它在控制台应用程序中运行良好,但在windows服务中不起作用。断点将控件留在“GoogleWebAuthorizationBroker.AuthorizationAsyn”方法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服务的任何帐户都可以访问您的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);
}