我需要在 ajax 中获取访问令牌,以下示例是在 Curl 中我如何在 ajax 调用中做同样的事情?
curl https://www.box.com/api/oauth2/token \ -d 'grant_type=authorization_code&code={your_code}&client_id={your_client_id}&client_secret={your_client_secret}' \ -X POST
我需要在 ajax 中获取访问令牌,以下示例是在 Curl 中我如何在 ajax 调用中做同样的事情?
curl https://www.box.com/api/oauth2/token \ -d 'grant_type=authorization_code&code={your_code}&client_id={your_client_id}&client_secret={your_client_secret}' \ -X POST
如果你看这里:http: //developers.box.com/oauth/
您将在“获取访问令牌”部分中看到,您可以提供一个redirect_uri
.
当您使用 Box 注册您的应用程序时,它们会向您显示一个页面,您可以在其中输入将使用的重定向 URL(参见上面链接中的示例)。但是,您可以覆盖它并在 oAuth 期间在您的呼叫中提供重定向 URL。因此,您所要做的就是在您自己的网站上提供一个页面,该页面将保存状态更改(成功或失败),并检查状态。
我看到你在请求中添加了另一个细节。
请注意,请求是针对https://query.yahooapis.com/v1/public/y ... 而不是http://developers.box.com/oauth/进行的。该重定向可能正在更改查询或标题。尝试更新并重新提交。让我知道它是否不起作用。
我发送 ajax 如下: $.ajax({ url: ' https://query.yahooapis.com/v1/public/yql?q=select%20 *%20from%20xml%20where%20url%20%3D%20https %3A%2F%2Fwww.box.com/api/oauth2/token',类型:'POST',dataType:'jsonp',processData:false,数据:{grant_type:'authorization_code',client_id:'3d2yi406h9eoykhucw9b8w3d2oky7kdy',client_secret :'YQtHVIoutEnKLNpbmjk3CvZ72bshnpGk'},完成:函数(数据){警报(JSON.stringify(数据));},错误:函数(){警报(“无法获取数据”);}})
XMLHttpRequest {statusText: "", status: 0, response: "", responseType: "", responseXML: null...} 警报: {"statusText":"OK","status":200,"response":"", "responseType":"","responseXML":null,"responseText":"","upload":{"ontimeout":null,"onprogress":null,"onloadstart":null,"onloadend":null," onload":null,"onerror":null,"onabort":null},"withCredentials":false,"readyState":4,"timeout":0,"ontimeout":null,"onprogress":null,"onloadstart ":null,"onloadend":null,"onload":null,"onerror":null,"onabort":null}
如您所见,我得到一个状态:200 但响应为空,并且不包括“访问令牌”,为什么?