REST API 経由で SkyDrive にファイルをアップロードしようとしています。次のコードを使用していますが、「(415) サポートされていないメディア タイプ」というメッセージが引き続き表示されます。エラー:
var requestUriFile =
new StringBuilder("https://apis.live.net/v5.0/<folderid>/files/testfile.txt");
requestUriFile.AppendFormat("?access_token={0}", accessTokenM);
byte[] arr = System.IO.File.ReadAllBytes("C:\\temp\\testFile.txt");
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(requestUriFile.ToString());
request.Method = "PUT";
request.ContentType = "text/plain";
request.ContentLength = arr.Length;
Stream dataStream = request.GetRequestStream();
dataStream.Write(arr, 0, arr.Length);
dataStream.Close();
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
string returnString = response.StatusCode.ToString();
これを行うためにRestSharpを使用してみましたが、同様の問題が発生しています。以下のコードを実行すると、「The provided Content-Type header 'multipart/form-data; bound\u003d--------------------- --------28947758029299' はサポートされていません".
byte[] arr = System.IO.File.ReadAllBytes("C:\\temp\\testFile.txt");
var client = new RestClient("https://apis.live.net/v5.0/");
var request = new RestRequest(Method.PUT);
request.Resource = "<folderId>/files/testfile.txt?access_token=" + accessTokenM;
request.AddHeader("content-type", "text/plain;");
request.AddFile("filename", arr, "testfile.txt", "text/plain");
var responseIn = client.Execute(request);
ここで何が間違っていますか?