Публикация в YouTube API с помощью jQuery - PullRequest
0 голосов
/ 31 августа 2010

Я пытаюсь отправить запрос в Google AuthSub для YouTube. Я использую jQuery для сообщений AJAX и т. Д. Когда я выполняю POST, я получаю ошибку 405: «Метод 405 не разрешен».

Вот мой JS:

   $.ajax({
      type: 'POST',
      url: "https://www.google.com/accounts/AuthSubRequest",
      beforeSend: function(xhr){
         xhr.setRequestHeader('X-GData-Key', 'key="' + ytKey + '"');
      },
      success: function(oData){
         //alert(oData);
      },
      scope: 'http://gdata.youtube.com',
      alt: 'json',
      next: 'http://' + globalBrand + '/sitecreator/view.do',
      session: 1
   });

Страница, которую я использую в API для этого, здесь .

Вот как выглядит ошибка: alt text

Ответы [ 3 ]

1 голос
/ 31 августа 2010

Параметры данных для запроса неуместны, см. Ниже:

$.ajax({
      type: 'POST',
      url: "https://www.google.com/accounts/AuthSubRequest",
      data: {
        scope: 'http://gdata.youtube.com',
        alt: 'json',
        next: 'http://' + globalBrand + '/sitecreator/view.do',
        session: 1
      },
      beforeSend: function(xhr){
         xhr.setRequestHeader('X-GData-Key', 'key="' + ytKey + '"');
      },
      success: function(oData){
         //alert(oData);
      }

   });

Теперь это может быть что-то, что вы делаете неправильно, но это наверняка нужно исправить.

0 голосов
/ 09 декабря 2010

Решение ошибки ОПЦИИ HTTP HEADER в JQuery, этот запрос в порядке для меня:

var word = 'search+word';
$.ajax({
        type: "GET",
        url: "http://gdata.youtube.com/feeds/api/videos?q="+word+"&max-results=10&alt=json-in-script&format=5,
        cache: false,
        dataType:'jsonp',
        success: function(data){
                //json 'data' var treatment
        },
       error: function(XMLHttpRequest, textStatus, errorThrown, data){
            alert("Not able to fetch the data due to feed unavailability!!!");
        }
});

Ссылка: http://www.mohammedarif.com/?p=180

0 голосов
/ 31 августа 2010

Ах, вот решение проблемы.Если я сделаю запрос с URL-адресом, созданным и назначенным в качестве href для якоря, или вызову его в window.open ();это работает.

window.open('https://www.google.com/accounts/AuthSubRequest?scope=http://gdata.youtube.com&next=http://' + globalBrand + '/sitecreator/view.do&session=1');

Что касается того, почему метод jQuery с ajax был отклонен, я не знаю.Кажется, это проблема в другом месте также.

...