将文件上传到已登录用户的Google驱动器

时间:2018-10-14 11:18:24

标签: c# asp.net-core google-drive-api asp.net-core-webapi

我正在开发Web API和网页。我想用来将文件上传到已登录用户的google驱动器。

我正在使用.net核心身份进行身份验证,并且已经过身份验证的用户,并且该部分是工作文件。

因此,身份中间件了解用户。 现在,我想将文件发送到用户驱动器。

我得到:

Access to the path 'C:\\WINDOWS\\system32\\config\\systemprofile' is denied.

据我了解,这意味着他正在尝试对服务器上的用户进行身份验证。他做不到的女巫

我可以使用singinManager来访问Google Drive API吗?

我的DriveService代码进行初始化:

    string[] scopes = new string[] {
                     DriveService.Scope.Drive,
                     DriveService.Scope.DriveFile};

    GoogleConfiguration config = new AuthentificationConfiguration().GetGoogleSettings();
    var secrets = new ClientSecrets
    {
        ClientId = config.ClientId,
        ClientSecret = config.ClientSecret
    };            

    credential =  GoogleWebAuthorizationBroker.AuthorizeAsync(secrets, scopes, user, CancellationToken.None).Result;
    _service = new DriveService(new Google.Apis.Services.BaseClientService.Initializer() {
        HttpClientInitializer = credential
    });

我知道您可以直接从客户端执行此操作,但是我不希望在客户端上具有客户端ID和机密。

所以我想将文件上传到我的服务,然后将其转发到Google

有可能吗?

0 个答案:

没有答案