2015-02-11 48 views
0

我想上傳視頻並通過天藍色的休息服務進行編碼。 我現在已經進入了編碼視頻的步驟,但我對請求有困難。通過REST的Azure編碼作業失敗

下面的代碼顯示了我的請求:

var joburl = res.RequestMessage.RequestUri + "Jobs"; 
     client = new HttpClient(); 
     client.DefaultRequestHeaders.TryAddWithoutValidation("Authorization", "Bearer " + token); 
     client.DefaultRequestHeaders.Add("x-ms-version", "2.8"); 
     client.DefaultRequestHeaders.Add("DataServiceVersion", "3.0"); 
     client.DefaultRequestHeaders.Add("MaxDataServiceVersion", "3.0"); 
     client.DefaultRequestHeaders.Add("x-ms-date", date); 

     //accept 
     t = new NameValueHeaderValue("odata", "verbose"); 
     type = new MediaTypeWithQualityHeaderValue("application/json"); 
     type.Parameters.Add(t); 
     client.DefaultRequestHeaders.Accept.Add(type); 

     result = await client.PostAsync(joburl,json); 

的網址:https://wamsamsclus001rest-hs.cloudapp.net/api/Jobs

的JSON:

{"Name":"khgfiuydencodingjob","InputMediaAssets":[{"__metadata":{"Uri":"https://wamsamsclus001rest-hs.cloudapp.net/api/Assets('nb%3acid%3aUUID%3ad037b321-cd1c-43a9-9607-c4910fa7a85b')"}}],"Tasks":[{"Configuration":"H264 Adaptive Bitrate MP4 Set 720p","MediaProcessorId":"nb:mpid:UUID:1b1da727-93ae-4e46-a8a1-268828765609","TaskBody":"<?xml version=\"1.0\"encoding=\"utf-8\"?><taskBody><inputAsset>JobInputAsset(0)</inputAsset><outputAsset>JobOutputAsset(0)</outputAsset></taskBody>"}]} 

承載令牌工程,我將其用於其他請求。

但我得到一個錯誤的請求400與跟隨着錯誤消息:

{"error":{"code":"","message":{"lang":"en-US","value":"Parsing request content failed due to: Make sure to only use property names that are defined by the type"}}} 

誰能找到這個錯誤。

謝謝你的幫助

回答

2

好吧我得到它的工作。需要的OData =詳細的在我的JSON /字符串內容 - 這樣的:

var jobInJson = JsonConvert.SerializeObject(job); 
     json = new StringContent(jobInJson, Encoding.UTF8);//, 
     json.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json;odata=verbose"); 

我想這不過早些時候我得到了一個500錯誤,但現在它正在發揮作用。