我必须将文件上传到 box.com ,因为我需要授权并获取accesstoken
并刷新令牌。我没有在c#asp.net.i中找到任何代码,想要使用c#和asp.net进行身份验证的代码以及获取accesstoken
和刷新令牌的代码。我尝试下面的代码我得到错误,因为页面是再次过期请求。
这是c#asp.net中的代码。我正在尝试使用Restsharp
public void 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;
Label1.Text = strResponse;
}
catch (Exception ex)
{
throw ex;
}
}
答案 0 :(得分:1)
从文档中: https://developers.box.com/oauth/ (参见“获取访问令牌”)
在为一组访问令牌和刷新令牌交换auth代码时,您需要向https://www.box.com/api/oauth2/token端点发出POST请求。
尝试在标题的“授权”部分中添加您要添加的内容,并将其放入URL编码的POST正文中。
或者甚至更好,尝试一下可用的.NET SDK,它将为您处理OAuth工作流程的这一部分: https://github.com/box/box-windows-sdk-v2
答案 1 :(得分:0)
您还需要使用以下命令设置编码:
request.RequestFormat = DataFormat.Xml;