我目前正在尝试学习如何使用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文件。