Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 我可以使用客户端ID&;上传Google Drive中的任何文件吗;客户端机密,不使用令牌?_C#_Asp.net_Google Drive Api_Google Oauth_Google Api Dotnet Client - Fatal编程技术网

C# 我可以使用客户端ID&;上传Google Drive中的任何文件吗;客户端机密,不使用令牌?

C# 我可以使用客户端ID&;上传Google Drive中的任何文件吗;客户端机密,不使用令牌?,c#,asp.net,google-drive-api,google-oauth,google-api-dotnet-client,C#,Asp.net,Google Drive Api,Google Oauth,Google Api Dotnet Client,我想用客户端ID和客户端密码配置Google Drive API。但不想生成刷新令牌 使用令牌,它工作正常。但没有令牌,我正在使用下面的代码,但每次它都会要求我弹出,出现身份验证失败错误 UserCredential credential = GoogleWebAuthorizationBroker.AuthorizeAsync( new ClientSecrets {

我想用客户端ID和客户端密码配置Google Drive API。但不想生成刷新令牌

使用令牌,它工作正常。但没有令牌,我正在使用下面的代码,但每次它都会要求我弹出,出现身份验证失败错误

            UserCredential credential = GoogleWebAuthorizationBroker.AuthorizeAsync(
                       new ClientSecrets
                       {
                           ClientId = ClientId,
                           ClientSecret = ClientSecret,
                       },
                       new[] { DriveService.Scope.Drive },
                       "user", CancellationToken.None).Result;


            var service = new DriveService(new BaseClientService.Initializer()
            {
                HttpClientInitializer = credential,
                ApplicationName = ApplicationName,
            });
请帮我做这个

来自:

如果用户同意,Google会给你的应用程序一个短期访问令牌

应用程序请求用户数据,并将访问令牌附加到请求

如果Google确定您的请求和令牌有效,它将返回请求的数据

一些流包括附加步骤,例如使用刷新令牌获取新的访问令牌。有关各种类型应用程序的流的详细信息,请参阅Google的

因此,如果您仅拥有用户的凭据,则无法将文件上载到Google Drive。您需要一个令牌。

来自:

如果用户同意,Google会给你的应用程序一个短期访问令牌

应用程序请求用户数据,并将访问令牌附加到请求

如果Google确定您的请求和令牌有效,它将返回请求的数据

一些流包括附加步骤,例如使用刷新令牌获取新的访问令牌。有关各种类型应用程序的流的详细信息,请参阅Google的


因此,如果您仅拥有用户的凭据,则无法将文件上载到Google Drive。您需要一个令牌。

库将自动为您创建一个刷新令牌,并将其与“用户”参数关联存储。如果没有刷新令牌,它将再次请求您执行任务。没有访问令牌,您无法上传到Google。你能解释一下你想做什么吗?我想你可能对Google Oauth和它的工作方式有点困惑。顺便说一句,Google WebAutorizationBroker适用于已安装的应用程序。如果你试图将其作为asp.net应用程序托管,它将不起作用。你需要使用Google AuthorizationCodeFlow。该库将自动创建一个刷新标记,并将其与“用户”参数关联存储。如果没有刷新令牌,它将再次请求您执行任务。没有访问令牌,您无法上传到Google。你能解释一下你想做什么吗?我想你可能对Google Oauth和它的工作方式有点困惑。顺便说一句,Google WebAutorizationBroker适用于已安装的应用程序。如果你试图将它作为asp.net应用程序托管,它将无法工作。你需要使用Google AuthorizationCodeflow。