[英]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.