Picasa api是否允许CORS Post?
Picasa api允许跨域GET请求。但是当我尝试发布一个图片/评论时,我得到了以下错误 XMLHttpRequest无法加载Picasa api是否允许CORS Post?,cors,picasa,Cors,Picasa,Picasa api允许跨域GET请求。但是当我尝试发布一个图片/评论时,我得到了以下错误 XMLHttpRequest无法加载https://picasaweb.google.com/data/feed/api/user/default/albumid/5825390619150171601?access_token=ya29.AHES6ZSR2XSlImdSJxNBVczzfz4DPoW3vRvywTNg8ELNs6OStqSBbTM。访问控制允许源不允许源“” p、 学生:这里有一个类似的
https://picasaweb.google.com/data/feed/api/user/default/albumid/5825390619150171601?access_token=ya29.AHES6ZSR2XSlImdSJxNBVczzfz4DPoW3vRvywTNg8ELNs6OStqSBbTM
。访问控制允许源不允许源“”
p、 学生:这里有一个类似的stackoverflow讨论。糟糕的是,以前没有人回答过这个问题。有几件事是好的知道在哪里 服务器响应中必须包含Access Control Allow Origin标头,并将其设置为您的域名或* 当您通过访问控制从Picasa获取公共相册时,Allow Origin标头设置为* 但是,当您访问需要身份验证的功能时,如标题访问控制上方的功能,则允许源代码返回为*.google.com 我的理论是阻止人们建立一个使用谷歌免费存储后端的Picasa网站,但事实上它本身就是Picasa网站的竞争对手 最后一点也是最重要的一点是,永远不要将安全令牌作为查询字符串发送!即使您使用https/ssl,url本身也没有加密,有人可以嗅探网络流量并窃取安全令牌。我甚至不确定皮卡萨会不会接受。你应该这样做:
var url = 'https://picasaweb.google.com/data/feed/api/user/default/albumid/' + albumId;
$.ajax({
url: url,
data: f /*image file object*/,
contentType: f.type,
processData: false,
type: "POST",
beforeSend: function(xhr) {
xhr.setRequestHeader("Authorization", "Bearer " + myToken);
},
success:function(data){
successCallback(data);
},
error:function(data){
failureCallback(data);
}
});
实际上,URL是通过TLS加密的。主机(例如,
picasaweb.google.com
)在DNS查找和SNI协商期间可用,但。
var url = 'https://picasaweb.google.com/data/feed/api/user/default/albumid/' + albumId;
$.ajax({
url: url,
data: f /*image file object*/,
contentType: f.type,
processData: false,
type: "POST",
beforeSend: function(xhr) {
xhr.setRequestHeader("Authorization", "Bearer " + myToken);
},
success:function(data){
successCallback(data);
},
error:function(data){
failureCallback(data);
}
});