Picasa api是否允许CORS Post?

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、 学生:这里有一个类似的

Picasa api允许跨域GET请求。但是当我尝试发布一个图片/评论时,我得到了以下错误

XMLHttpRequest无法加载
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);
       }
   });