繁体   English   中英

如何通过C#中的API将文件上传到Google云端硬盘

[英]How to upload a file to Google Drive via the API in C#

我目前正在尝试学习如何使用API​​,并想尝试Google Drive API。 我一直在跟踪他们在开发人员站点上可用的文档,并设法使快速入门代码按预期工作,但是,当我随后使用他们必须的文档来上载文件时,我无法获取示例代码上班。

我已经修改了代码,以尝试调试该方法,因为我注意到request.ResponseBody始终返回null,我不确定是否应该等待这个结果。 删除尝试检索响应正文的尝试后,我进行了检查,但是驱动器尚未创建/上传.jpg文件。 我尝试添加权限以查看是否可以更改任何内容,try catch不会恢复任何内容,并且该文件存在。

static void UploadFile(UserCredential credential)
        {
            /// Testing Upload File ///
            var fileMetadata = new Google.Apis.Drive.v3.Data.File();
            fileMetadata.Name = "Bullhorn.jpg";
            fileMetadata.Parents = new List<string> { "1Nnd-DI0RvuZgs_9kXCFuvuvnaCLdlovt" };
            fileMetadata.Permissions = new List<Permission> { new Permission() { Role = "owner" } };
            FilesResource.CreateMediaUpload request;
            DriveService driveService = new DriveService(new BaseClientService.Initializer()
            {
                HttpClientInitializer = credential,
                ApplicationName = ApplicationName,
            });
            try
            {
                if (System.IO.File.Exists("files/Bullhorn.jpg"))
                {
                    using (var stream = new FileStream("files/Bullhorn.jpg", FileMode.Open))
                    {
                        request = driveService.Files.Create(fileMetadata, stream, "image/jpeg");
                        request.Fields = "id";
                        request.Upload();
                    }
                    var respose = request.ResponseBody;
                    while (respose == null)
                    {
                         respose = request.ResponseBody;
                    }
                    Console.WriteLine("File ID: " + respose.Id);
                }
                else
                {
                    Console.WriteLine("File not found");
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }
        }

如果身份验证是问题,我希望响应正文会回来说它未经授权。 我通常希望在驱动器中或在父下关联的文件夹中创建一个.jpg文件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM