这个也试过,不行。你看看代码有问题吗?var head = "Bearer " + access_token; var settings = { type: "POST", url: "https://api.dropbox.com/1/datastores/get_or_create_datastore", data: { dsid: "default" }, error: function (XHR, textStatus, errorThrown) { alert("XHR="+XHR+"\ntextStatus="+textStatus+"\nerrorThrown="+errorThrown); }, success: function (data,textStatus) { console.log("data:",data); $("body").append(data); }, headers: { "Authorization": head } }; $.ajax(settings); 你这样肯定不行吧,使用jquery的jsonp插件 url="http://localhost:8080/WorkGroupManagment/open/getGroupById" +"?id=1&callback=?"; $.jsonp({ "url": url, "success": function(data) { $("#current-group").text("当前工作组:"+data.result.name); }, "error": function(d,msg) { alert("Could not find user "+msg); } }); 你的server段代码不用改动
这个也试过,不行。你看看代码有问题吗?var head = "Bearer " + access_token; var settings = { type: "POST", url: "https://api.dropbox.com/1/datastores/get_or_create_datastore", data: { dsid: "default" }, error: function (XHR, textStatus, errorThrown) { alert("XHR="+XHR+"\ntextStatus="+textStatus+"\nerrorThrown="+errorThrown); }, success: function (data,textStatus) { console.log("data:",data); $("body").append(data); }, headers: { "Authorization": head } }; $.ajax(settings); 你这样肯定不行吧,使用jquery的jsonp插件 url="http://localhost:8080/WorkGroupManagment/open/getGroupById" +"?id=1&callback=?"; $.jsonp({ "url": url, "success": function(data) { $("#current-group").text("当前工作组:"+data.result.name); }, "error": function(d,msg) { alert("Could not find user "+msg); } }); 你的server段代码不用改动 网上搜一下jQuery插件-jquery-jsonp,看看怎么用。挺简单的
你确定授权成功了,但是查询的时候出问题 你的这段代码是官方给的例子吗? 官方不是提供了js 的sdk么,看看他的列子和你写的有什么不同,请求头信息里面的数据抓一下对比对比。 400错误就是你发送的问题 这个不是用的JS的SDK,他的JS例子里面是直接调用封装好的接口来实现的,他的例子是这样的: var client = new Dropbox.Client({key: APP_KEY});// Try to finish OAuth authorization. client.authenticate({interactive: false}, function (error) { if (error) { alert('Authentication error: ' + error); } });if (client.isAuthenticated()) { // Client is authenticated. Display UI. }然后我帖子里面的代码是我自己按照他的HTTP说明文档写的,文档里面就说当获取到token之后,发送这样一个HTTP请求,就可以查询和操作数据了这是官方文档里 Using the Datastore HTTP API的说明Here's an example HTTP request:POST /1/datastores/get_or_create_datastore HTTP/1.1 Authorization: Bearer 2KpF5HU1WC8AAAAAAAAAAXVIh5sWjCPQQ76ggWgUZX7CgP9QfJlC15RDC3X8LYc6dsid=default And here's an example response from the server:HTTP/1.1 200 OK Content-Type: text/javascript{"handle": "1PuUJ3DvMI71OYx1gcqWHzzdva2EpF", "rev": 0, "created": true} 请求的地址是HTTPS,抓包抓不到吧?
这个也试过,不行。你看看代码有问题吗?var head = "Bearer " + access_token; var settings = { type: "POST", url: "https://api.dropbox.com/1/datastores/get_or_create_datastore", data: { dsid: "default" }, error: function (XHR, textStatus, errorThrown) { alert("XHR="+XHR+"\ntextStatus="+textStatus+"\nerrorThrown="+errorThrown); }, success: function (data,textStatus) { console.log("data:",data); $("body").append(data); }, headers: { "Authorization": head } }; $.ajax(settings); 你这样肯定不行吧,使用jquery的jsonp插件 url="http://localhost:8080/WorkGroupManagment/open/getGroupById" +"?id=1&callback=?"; $.jsonp({ "url": url, "success": function(data) { $("#current-group").text("当前工作组:"+data.result.name); }, "error": function(d,msg) { alert("Could not find user "+msg); } }); 你的server段代码不用改动额,我刚刚发的所有的代码都是在客户端的JS文件里面的,难道发HTTP请求是应该在服务端实现吗?之前都是做客户端这一款的东西,服务端完全不了解啊····
可是我是在获取到access_token之后,调用查询数据的时候出错的呀,这是我查询的那一部分的代码:
if(access_token != "")
{
var httpRequest = createXMLHttp();
var head = "";
var arg = "";
var ret = "";
var url = "https://api.dropbox.com/1/datastores/get_or_create_datastore"; head = "Bearer " + access_token;
arg = "dsid=default"; httpRequest.open("POST", url, false);
httpRequest.setRequestHeader("Authorization", head);
httpRequest.send(arg);
ret = JSON.parse(httpRequest.responseText);
console.log("ret:", ret);
}
这个也试过,不行。你看看代码有问题吗?var head = "Bearer " + access_token; var settings = {
type: "POST",
url: "https://api.dropbox.com/1/datastores/get_or_create_datastore",
data: { dsid: "default" },
error: function (XHR, textStatus, errorThrown) {
alert("XHR="+XHR+"\ntextStatus="+textStatus+"\nerrorThrown="+errorThrown);
},
success: function (data,textStatus) {
console.log("data:",data);
$("body").append(data);
},
headers: {
"Authorization": head
}
};
$.ajax(settings);
你的这段代码是官方给的例子吗?
官方不是提供了js 的sdk么,看看他的列子和你写的有什么不同,请求头信息里面的数据抓一下对比对比。
400错误就是你发送的问题
这个也试过,不行。你看看代码有问题吗?var head = "Bearer " + access_token; var settings = {
type: "POST",
url: "https://api.dropbox.com/1/datastores/get_or_create_datastore",
data: { dsid: "default" },
error: function (XHR, textStatus, errorThrown) {
alert("XHR="+XHR+"\ntextStatus="+textStatus+"\nerrorThrown="+errorThrown);
},
success: function (data,textStatus) {
console.log("data:",data);
$("body").append(data);
},
headers: {
"Authorization": head
}
};
$.ajax(settings);
你这样肯定不行吧,使用jquery的jsonp插件
url="http://localhost:8080/WorkGroupManagment/open/getGroupById"
+"?id=1&callback=?";
$.jsonp({
"url": url,
"success": function(data) {
$("#current-group").text("当前工作组:"+data.result.name);
},
"error": function(d,msg) {
alert("Could not find user "+msg);
}
});
你的server段代码不用改动
这个也试过,不行。你看看代码有问题吗?var head = "Bearer " + access_token; var settings = {
type: "POST",
url: "https://api.dropbox.com/1/datastores/get_or_create_datastore",
data: { dsid: "default" },
error: function (XHR, textStatus, errorThrown) {
alert("XHR="+XHR+"\ntextStatus="+textStatus+"\nerrorThrown="+errorThrown);
},
success: function (data,textStatus) {
console.log("data:",data);
$("body").append(data);
},
headers: {
"Authorization": head
}
};
$.ajax(settings);
你这样肯定不行吧,使用jquery的jsonp插件
url="http://localhost:8080/WorkGroupManagment/open/getGroupById"
+"?id=1&callback=?";
$.jsonp({
"url": url,
"success": function(data) {
$("#current-group").text("当前工作组:"+data.result.name);
},
"error": function(d,msg) {
alert("Could not find user "+msg);
}
});
你的server段代码不用改动
网上搜一下jQuery插件-jquery-jsonp,看看怎么用。挺简单的
你的这段代码是官方给的例子吗?
官方不是提供了js 的sdk么,看看他的列子和你写的有什么不同,请求头信息里面的数据抓一下对比对比。
400错误就是你发送的问题
这个不是用的JS的SDK,他的JS例子里面是直接调用封装好的接口来实现的,他的例子是这样的:
var client = new Dropbox.Client({key: APP_KEY});// Try to finish OAuth authorization.
client.authenticate({interactive: false}, function (error) {
if (error) {
alert('Authentication error: ' + error);
}
});if (client.isAuthenticated()) {
// Client is authenticated. Display UI.
}然后我帖子里面的代码是我自己按照他的HTTP说明文档写的,文档里面就说当获取到token之后,发送这样一个HTTP请求,就可以查询和操作数据了这是官方文档里 Using the Datastore HTTP API的说明Here's an example HTTP request:POST /1/datastores/get_or_create_datastore HTTP/1.1
Authorization: Bearer 2KpF5HU1WC8AAAAAAAAAAXVIh5sWjCPQQ76ggWgUZX7CgP9QfJlC15RDC3X8LYc6dsid=default
And here's an example response from the server:HTTP/1.1 200 OK
Content-Type: text/javascript{"handle": "1PuUJ3DvMI71OYx1gcqWHzzdva2EpF", "rev": 0, "created": true}
请求的地址是HTTPS,抓包抓不到吧?
这个也试过,不行。你看看代码有问题吗?var head = "Bearer " + access_token; var settings = {
type: "POST",
url: "https://api.dropbox.com/1/datastores/get_or_create_datastore",
data: { dsid: "default" },
error: function (XHR, textStatus, errorThrown) {
alert("XHR="+XHR+"\ntextStatus="+textStatus+"\nerrorThrown="+errorThrown);
},
success: function (data,textStatus) {
console.log("data:",data);
$("body").append(data);
},
headers: {
"Authorization": head
}
};
$.ajax(settings);
你这样肯定不行吧,使用jquery的jsonp插件
url="http://localhost:8080/WorkGroupManagment/open/getGroupById"
+"?id=1&callback=?";
$.jsonp({
"url": url,
"success": function(data) {
$("#current-group").text("当前工作组:"+data.result.name);
},
"error": function(d,msg) {
alert("Could not find user "+msg);
}
});
你的server段代码不用改动额,我刚刚发的所有的代码都是在客户端的JS文件里面的,难道发HTTP请求是应该在服务端实现吗?之前都是做客户端这一款的东西,服务端完全不了解啊····