Box使用ajax获取Access令牌

时间:2014-07-22 10:53:43

标签: box-api box boxapiv2

我需要在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

2 个答案:

答案 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但响应为空,并且不包括“访问令牌”,为什么?