2016-11-27 5 views
1

필자는 인증 코드, 클라이언트 ID, 클라이언트 비밀 번호를 가지고 있으며 이제 내 상자 계정에 파일을 업로드하기 위해 ACCESS TOKEN이 있어야합니다. 아래 코드를 사용하여 ACCESS TOKEN을 얻기 위해 stackoverflow 어딘가에 복사했습니다.asp.net 애플리케이션에서 상자 API에 액세스 토큰을 가져 오시겠습니까?

public string GetAccessToken(string code, string ClientId, string ClientSecret) 
    { 
     RestClient rs = new RestClient(); 
     string grant_type = "authorization_code"; 
     RestRequest request = new RestRequest(Method.POST); 
     IRestRequest reuest = request; 
     string strHeaders = null; 
     RestResponse response = default(RestResponse); 
     IRestResponse resp = response; 
     string strResponse = null; 

     try 
     { 
      rs.BaseUrl = "https://www.box.com/api/oauth2/token"; 
      request.Resource = "oauth2/token"; 
      strHeaders = string.Format("grant_type={0}&code={1}&client_id={2}&client_secret={3}", grant_type, code, ClientId, ClientSecret); 
      request.AddHeader("Authorization", strHeaders); 
      resp = rs.Execute(reuest); 
      strResponse = resp.Content; 

      return strResponse; 
     } 
     catch (Exception ex) 
     { 
      throw ex; 
     } 
    } 

응답의 콘텐츠 유형은 문서 페이지에서 언급 한 것처럼 HTML이며 JSON이 아닙니다. asp.net 응용 프로그램을 사용하여 BOX API에서 액세스 토큰을 얻는 방법을 알려주십시오.

 public string GetAccessToken() 
     { 
     string param = string.Format("grant_type=authorization_code&code={0}&client_id={1}&client_secret={2}", CODE, CLIENT_ID, CLIENT_SECRET); 

     var client = new RestClient("https://api.box.com/oauth2/token/"); 
     var request = new RestRequest(Method.POST); 
     request.AddHeader("content-type", "application/x-www-form-urlencoded"); 
     request.AddParameter("application/x-www-form-urlencoded", param, ParameterType.RequestBody); 
     var response = client.Execute(request); 
     var json = JObject.Parse(response.Content); 

     return Convert.ToString(json["access_token"]); 
     } 

이 친절 헤더를 기록하고 매개 변수 내가 코드를 추가 한 : 코드 조각 아래

+0

어떤 HTML 응답을 얻습니까? 오류 메시지 일 수 있으므로 살펴보십시오. 당신은 성공적인 응답 코드를 얻습니까? –

+0

예. 성공적인 응답 코드를받습니다. –

답변

2

는 작업을했다.