我正在尝试集成box api以列出我的文件和文件夹,我正在关注文件框http://developers.box.com/oauth/。我无法使用jquery样式。
任何人都可以使用jquery / ajax方式向我提示如何执行此操作。
欢迎所有评论。
谢谢,
答案 0 :(得分:3)
您正在尝试将API集成到什么位置?如果您从网页的客户端发出请求,您将遇到同源政策,这是普通浏览器(Chrome,Firefox,...)的安全标准
那就是说,
答案 1 :(得分:1)
来自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));
});