我正在尝试集成 box api 以列出我的文件和文件夹,我正在关注 box 文档http://developers.box.com/oauth/。我无法将它与 jquery 样式一起使用。
谁能给我一个关于如何使用 jquery/ajax 方式做到这一点的提示。
欢迎所有评论。
谢谢,
我正在尝试集成 box api 以列出我的文件和文件夹,我正在关注 box 文档http://developers.box.com/oauth/。我无法将它与 jquery 样式一起使用。
谁能给我一个关于如何使用 jquery/ajax 方式做到这一点的提示。
欢迎所有评论。
谢谢,
您想将 API 集成到什么中?如果您从网页的客户端发出请求,您将遇到同源策略,这是常见浏览器(Chrome、Firefox 等)的安全标准。
也就是说,
来自 Javascript API-Requests 的官方解决方案https://developers.blog.box.com/2011/09/28/using-the-box-api-with-javascript/:
除非您有幸成为像我这样的 Box 开发人员,否则您将在 box.net 以外的域(或其子域)上托管您的应用程序。因此,Javascript 同源策略将阻止我们从另一个域(如 localhost,我们将在本教程中使用)向 API 发出 Ajax 请求。
在教程中有这个片段:
$.getJSON("http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20xml%20where%20url%20%3D%20'https%3A%2F%2Fwww.box.net%2Fapi%2F1.0%2Frest%3Faction%3Dget_ticket%26api_key%3D" + window.api_key + "'&format=json&diagnostics=true",
function(response) {
window.ticket = response.query.results.response.ticket;
window.location.href = 'https://m.box.net/api/1.0/auth/' + ticket;
});
使它成为一个有效的 Javascript API 应该很容易:
function box_api_request(url, api_key, callback) {
$.getJSON("http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20xml%20where%20url%20%3D%20'" + encodeURI(url) + "%26api_key%3D" + api_key + "'&format=json&diagnostics=true", callback);
}
box_api_request('https://www.box.net/api/1.0/rest?action=get_ticket', '1234MY_API_KEY123', function(response) {
document.write(JSON.stringify(response));
});