获取相册列表Google Picasa

时间:2015-03-19 18:42:24

标签: javascript ajax google-api google-signin picasa

我正在开发一个可以从Google Picasa获取相册和图片的网络应用程序。

我一直收到来自服务器的204,没有内容回复。

此外,我收到错误:请求的资源上没有“Access-Control-Allow-Origin”标头。

我在javascript起源的开发者控制台中有适当的凭据,但我仍然收到此错误。我已经尝试了很多方法来制作请求,但都没有成功。

我已使用tokeninfo端点验证了访问令牌,因此我相信我正在制作正确的请求类型。

以下是我的要求:

    $.ajax({ //gives 204 no content response
                url: "https://picasaweb.google.com/data/feed/api/user/default", //use default to get current logged in user
                type: "GET",
                beforeSend: function(xhr){ //headers
                    xhr.setRequestHeader('Authorization', 'Bearer ' + access_token);
                    xhr.setRequestHeader('GData-Version', '2');
                },
                dataType: "json",
                success: function(){
                    console.log("success");
                },
                fail: function(){
                    console.log("fail");
                }
            })
            .done(function(data){
                console.log(data);
            });

此外,进行未经身份验证的请求:

                    $.ajax({ 
                url: "https://picasaweb.google.com/data/feed/api/user/default", //use default to get current logged in user
                type: "GET",
                dataType: "json",
                beforeSend: function(xhr){
                    xhr.setRequestHeader('GData-Version', 2);
                },
                success: function(){
                    console.log("success");
                },
                fail: function(){
                    console.log("fail");
                }
            })
            .done(function(data){
                console.log(data);
            });

1 个答案:

答案 0 :(得分:2)

Picasa Web API针对经过身份验证的请求执行not support CORS。您必须从服务器而不是通过JavaScript发出请求。