使用API​​,RequestException上传到云存储

时间:2014-09-24 16:30:01

标签: google-cloud-storage google-api-dotnet-client

有谁可以告诉我为什么这段代码会出现请求异常?

Google.Apis.Storage.v1.Data.Object obj = new Google.Apis.Storage.v1.Data.Object();
obj.Bucket = "testbucket1817";
obj.ContentType = "binary/octet-stream";
obj.SelfLink = @"C:\Users\User\Desktop\file";
obj.Name = "filename";
Google.Apis.Storage.v1.ObjectsResource.InsertRequest uploadrequest = new ObjectsResource.InsertRequest(storagecredentials, obj, "testbucket1817");
uploadrequest.Execute();

运行时我收到此错误消息 -

Required [400]
Errors [
    Message[Required] Location[ - ] Reason[required] Domain[global]
    Message[Required] Location[ - ] Reason[required] Domain[global]
]

我不确定自身链接或内容类型(对于xml文件),但实际上没有任何地方可以说明如何进行此操作。
谢谢任何人

1 个答案:

答案 0 :(得分:1)

InsertMediaUpload 似乎工作正常。不知道与 InsertRequest 的区别是什么,除了我可以找出将数据放在 InsertMediaUpload 的位置。因此,无论您要上传哪个文件,只需将流设置为File.Open(yourfile, FileMode.Open)并设置一个像我在问题中所做的对象。

Google.Apis.Storage.v1.ObjectsResource.InsertMediaUpload uploadmedia = new 
    ObjectsResource.InsertMediaUpload(ss, object, "bucketname", fileStream, "binary/octet-stream");

设置上传,然后执行uploadmedia.Upload() 谢谢大家!
罗斯