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