2015-03-19 2 views
3

Я разрабатываю веб-приложение, которое получает альбомы и изображения из Google 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

Веб-API Picasa делает not support CORS для прошедших проверку подлинности запросов. Вам придется делать запросы с сервера, а не через JavaScript.

+0

Но не могу ли я сделать запрос без проверки, удалив заголовок? Это все равно не работает, если я это сделаю. В той же ссылке, которую вы указали, указано, что вы можете сделать неавторизованный доступ, но не POST. – KardJaster

+0

Связанный ответ - два года назад, поэтому они больше не могут поддерживать CORS. – abraham

+0

Из [API Picasa] (https://developers.google.com/picasa-web/docs/2.0/developers_guide_protocol) Вам не нужно проходить аутентификацию для получения данных об общедоступных альбомах, но для создания, обновления , или удалить содержимое, которое вы должны пройти проверку подлинности, используя один из методов, обсуждаемых в разделе аутентификации. Я все еще получаю ошибку CORS, однако, возможно, вы правы. – KardJaster

Смежные вопросы