PHP: Как загрузить видео на YouTube, не используя логин? - PullRequest
0 голосов
/ 06 мая 2010

У меня есть сайт, и я хочу загружать видео на YouTube без входа в систему. Возможно ли это? Если да, то как это сделать?

Ответы [ 3 ]

5 голосов
/ 06 мая 2010

Создайте учетную запись и постоянно используйте ее учетные данные для всех пользователей вашего сайта. Вы просто не можете загрузить видео без «ответственности» за него. @Pekka: просить прощения, а не разрешения? ;) У Google по крайней мере есть API YouTube (с возможностями загрузки и примерами PHP) прямо здесь: http://code.google.com/apis/youtube/2.0/developers_guide_php.html#Uploading_Videos

2 голосов
/ 06 мая 2010

Невозможно загрузить видео на YouTube без входа в систему.

Тем не менее, я не удивлюсь, если даже автоматическая загрузка с логином будет запрещена Правилами и условиями YouTube.

0 голосов
/ 23 октября 2011

Есть способ сделать это без библиотеки клиента Zend. В основном PHP (PHP4).
https://github.com/techie28/YouTubeUploadPHP.

Примечание. AuthSub устарела. Подробную информацию см. В политике Google устарела.


EDIT:
Поскольку codershelpingcoders.com теперь указывает на страницу парковки Годадди, а на исходной ссылке zendtutorials.wordpress.com есть пустая статья, ссылающаяся на codershelpingcoders.com, я нашел оригинальную статью через архив: http://web.archive.org/web/20130123044500/http://codershelpingcoders.com/ и попытался ее воспроизвести. это содержание в этом ответе для дальнейшего использования (ПРИМЕЧАНИЕ: я понятия не имею, работает ли эта информация до сих пор).

В этом руководстве описывается технология прямой загрузки через браузер с использованием AuthSub.

AuthSub - это модуль авторизации YouTube, который позволяет вашему приложению взаимодействовать с YouTube для определенных целей, таких как загрузка видео и т. Д. От имени пользователя.
Это так же, как Auth и двоюродный брат oAuth.
Пользователь предоставляет привилегию приложению вашего сайта, и вы можете выполнять работу от его имени так просто.

Мы пройдем через способ загрузки видео, используя AuthSub.

Это происходит следующим образом и может быть действительно сделано в следующие 4 простых шага:

  1. Чтобы разрешить запуск приложения от имени пользователя, пользователь должен иметь санкционировал это первым.
    Поэтому наш первый шаг к реализации - авторизация приложения пользователем.
    Мы делаем это путем простого перенаправления пользователя на страницу авторизации URL выглядит следующим образом:

    $nextUrl = urlencode(‘http://www.xxxx.com’)
    $scope = urlencode(‘http://gdata.youtube.com’);
    
    https://www.google.com/accounts/AuthSubRequest?next=’.$nextUrl.’&scope=’.$scope.’&session=1&secure=0

    nextUrl - это URL вашего приложения, где пользователь будет перенаправлен после процедуры авторизации.
    scope это сообщить YouTube о масштабах процесса, который Google Данные YouTube в этом случае.
    Поэтому, если пользователь еще не авторизовал ваше приложение, он должен быть перенаправлен на вышеупомянутая страница авторизации после того, как пользователь утвердил ваше приложение не должно следовать шагу один раз, пока и если пользователь не аннулирует доступ к вашему приложению от пользователей Панель управления своим аккаунтом.
    При успешном завершении процесса авторизации пользователь будет перенаправлены на ваше приложение, и это завершает первый шаг AuthSub.

  2. Если с первого шага пользователь аутентифицирует ваше приложение YouTube перенаправит его обратно в ваше приложение с помощью токена в URL. Вы собираетесь использовать этот токен, и именно здесь происходит процесс AuthSub. вступает в игру, вы собираетесь использовать этот токен, чтобы получить сущность под названием AuthSubSessionToken, что позволит вам подключить ваше приложение к YouTube от имени пользователя, который только что одобрил вашу заявку.
    В PHP вы делаете это, выполняя запрос curl. Детали следующие:
    Выполните запрос GET curl для https://www.google.com/accounts/AuthSubSessionToken с токеном, который вы получили сразу после шага авторизации.
    Не забудьте включить статус сбора ответов в curl, так как он вам понадобится.
    Если бы все прошло хорошо до сих пор, вы бы ответили на YouTube с AuthSubSessionToken.
    БИНГО: -)

  3. Теперь, когда вы получили токен AuthSubSession, вы собираетесь использовать что получить токен загрузки, который будет фактически загружать данные связанные с вашим видео на YouTube, т. е. название, описание и ключевые слова. Это своего рода обратный процесс, так как в AuthSub вы загружаете данные, связанные с видео на YouTube, а затем загрузить видео сам. Загрузка видеоданных, также называемых метаданными, будет сделано путем подачи XML на YouTube, xml будет:

    title goes here 
    description goes here 
    category goes here
    
    Keyword goes here 

    и снова у curl есть дело, чтобы загрузить его, отправив другой вызов curl:

    url:http://gdata.youtube.com/action/GetUploadToken 
    headers:AuthSub token=”Your AuthSubSession token goes here” 
    GData-Version:2
    ‘X-GData-Key: key=”Your Api key goes here” 
    Content-length: length of the xml you formed above goes here
    Content-Type:application/atom+xml; charset=UTF-8 
    POSTFIELDS: the xml itself that you formed
  4. Если шаг 3 успешно завершен, то пора загрузить видео на самом деле на вашем последнем успешном выполнении завиток вы будете YouTube вернул обратно с URL-адресом и токеном.
    Теперь вы создадите форму, которая будет иметь этот URL в качестве своего действия и токена. как скрытое поле что-то вроде этого.
    Простовыберите видео и нажмите «Отправить», и ваше видео будет загружено.
    После успешной отправки вы будете перенаправлены обратно с status 200.

Ссылка на github для примера кода здесь здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...