【发布时间】:2013-04-23 13:21:54
【问题描述】:
与我相关的问题有很多,但是在我花了几个小时仔细研究不同的答案并自己尝试之后,我仍然无法解决我的问题!
我正在使用 OAuth 2.0 协议来访问 Box 的 API。到目前为止,我已经能够检索到授权码,现在我正试图用它来换取访问码。到目前为止,一切似乎都运行良好:在我向 Box 发出 POST 请求后,我被重定向到 https://www.box.com/api/oauth2/token 并收到一个我不知道如何处理的 JSON 响应。
我尝试过使用 JQuery 的 $.get 和 $.parseJSON 函数,但我完全不知道我应该如何构建代码,或者我是否一开始就以正确的方式处理这个问题。
这是我用来 POST 的函数:
function post_to_url(path, params) {
var form = document.createElement("form");
form.setAttribute("method", "post");
form.setAttribute("action", 'https://www.box.com/api/oauth2/token');
for(var key in params) {
if(params.hasOwnProperty(key)) {
var hiddenField = document.createElement("input");
hiddenField.setAttribute("type", "text");
hiddenField.setAttribute("name", key);
hiddenField.setAttribute("value", params[key]);
form.appendChild(hiddenField);
}
}
document.body.appendChild(form);
form.submit();
}
当我调用它时,我被重定向到https://www.box.com/api/oauth2/token,我的浏览器显示以下字符串:
{"access_token":"H97GnkuWCRUxxx"expires_in":3600,"refresh_token":"cIJyyyyym1aSuNFmmC2PgTtiP2xfXm0dCmzzzz,"token_type":"bearer"}
非常感谢我能得到的任何帮助,非常感谢!
【问题讨论】:
-
jsonp 可能?是在函数内部吗?你也可以访问为 var object = json_response; object["access_token"] 或 object.access_token。如果它是 JSONP,则 jquery 中有一个特定的函数......
标签: javascript html post oauth-2.0 box-api