1
私は自分の認証コード、クライアントID、クライアントシークレットを持っていて、今はボックスアカウントにファイルをアップロードするために、私はACCESS TOKENを持っている必要があります。私はACCESS TOKENを得るためにstackoverflowのどこかにコピーされた以下のコードを使用しています。asp.netアプリケーションからbox 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"]);
}
親切に私は、コードに追加したヘッダーとパラメータの点に注意してください。コードの一部の下
どのようなhtml応答が得られますか?それはエラーメッセージかもしれないので、見てください。あなたは応答コードを受け取っていますか? –
はい。成功した応答コードを受信しています。 –