2013-05-06 1 views
0

을 내가 원하는 사용하여 파일을 업로드하고 나머지 API를 내 코드 나는이폴더를 생성하고 폴더를 만들 나머지 API와 OAuth2.0에

같이해야 할이

public string CreateFolder(string FolderName) 
    { 
     int WorkSpaceId = 330201; 
     int id = 168079105; 
     var queryString = HttpContext.Current.Session["tokenSession"]; 
     var request = WebRequest.Create(RequestProfileUrl + FolderName); 
     request.AuthenticationLevel = System.Net.Security.AuthenticationLevel.None; 
     request.Headers.Add("Authorization", "Bearer " + AccessToken); 
     request.ContentType = "multipart/form-data"; 
     request.Method = "POST"; 
     var response = request.GetResponse(); 
     HttpContext.Current.Response.Redirect("" + request.RequestUri); 
     using (var responseStream = response.GetResponseStream()) 
     { 
      var reader = new StreamReader(responseStream); 
      var responseText = reader.ReadToEnd(); 
      reader.Close(); 
      return responseText; 
     } 
    } 

처럼 를 사용하여 파일을 업로드하는 방법

POST https://apis.live.net/v5.0/me/skydrive 
Authorization: Bearer ACCESS_TOKEN 
Content-Type: multipart/form-data 

{ 
    "name": "My example folder" 
}` 

요청 헤더와 콘텐츠 유형을 추가했지만 요청에 name 매개 변수를 추가하는 방법을 모르겠습니다.

+0

왜 '자바'태그가 붙어 있습니까? –

+0

나는 oauth2.0과 나머지 API에 문제가있어 자바를 추가했다. – user2322397

답변

0

POST 요청 본문을 작성하려면 먼저 요청 스트림을 가져온 다음 쓰기 작업을 수행해야합니다. 아래 샘플 코드를 참조하십시오. "Content/Type"을 "multipart/form-data"에서 "application/json"으로 변경 했으므로 데이터가있는 것 같습니다.

 // String with the body content 
     string postBody = "{\"name\":\"myfoldername\"}"; 
     ASCIIEncoding encoding = new ASCIIEncoding(); 
     byte[] byte1 = encoding.GetBytes (postBody); 

     // Set Content type to application/json 
     myHttpWebRequest.ContentType = "application/json"; 

     // Set content length of the string being posted. 
     myHttpWebRequest.ContentLength = byte1.Length; 

     // Get the request stream and write body bytes to it 
     Stream newStream = myHttpWebRequest.GetRequestStream(); 
     newStream.Write (byte1, 0, byte1.Length); 
0

귀하의 요청 본문에 기재해야합니다. writeMessageBody를 호출하고 원하는대로 본문을 작성해야 할 수 있습니다.

+0

request.writemessagebodu가 거기에 없다. – user2322397