2013-05-02 3 views
4

Я довольно новичок в переполнении стека, поэтому, если я что-то не так, скажите мне;Найти имя пользователя YouTube с API YouTube/GooglePlus

Я установки мой сайт с Google+ API -. Для входа в систему, пользователи нажимают на кнопку «Вход с Google+» и ​​войти в

Это все прекрасно и хорошо, но мне было интересно, если я могу интегрировать этот процесс входа в систему с API YouTube, так что, когда пользователь нажимает кнопку для входа в систему, я также могу собрать информацию YouTube.

Я уже установил API-интерфейсы YouTube Analytics и Data API в консоли API Google, мне просто нужен фрагмент кода для хранения имени пользователя YouTube.

Ожидаемое поведение:

  1. Пользователь с URL 'youtube.com/some-user' бревен с Google+
  2. Google+ Ключ аутентификации подается в какой-то сценарий
  3. Script подключается к YouTube API и возвращает имя пользователя (например, $ youtube_user = «некоторые пользователь»)
  4. Мой сайт принимает эту информацию и продолжает со сценарием

ответ

1

класса пятна на точках зрения получения OAuth 2 учетных данных для выполнения запроса. С точки зрения фактического кода PHP для работы прочь, вы можете использовать this example в качестве отправной точки (который использует this client library), и изменить линию 40 читать

$channelsResponse = $youtube->channels->listChannels('snippet', array(
    'mine' => 'true', 
)); 

И тогда вы можете получить доступ название канала через $channelsResponse['items'][0]['snippet']['title']. Обратите внимание, что можно связать учетную запись Google+ и канал YouTube, и если это будет сделано, название канала будет равно отображаемому имени учетной записи Google+. Если это непривязанный канал YouTube, тогда вместо него будет возвращено прежнее имя пользователя канала.

+0

Спасибо, это именно то, что мне нужно! – VCNinc

3

Вы можете сделать это, используя YouTube API. Что вам нужно сделать, так это добавить дополнительную область в свою кнопку входа. Я бы порекомендовал вам использовать следующие сферы:

https://www.googleapis.com/auth/youtube.readonly 

это сделать, потому что вы не будете управлять ничьим счетом YouTube, просто увидеть свои персональные данные (например, чтобы тянуть в ссылках или вставлять код для видео на YouTube).

Затем вам необходимо выполнить вызов API на YouTube с помощью клиентской библиотеки. Для экспериментов вы можете use the API explorer. Чтобы просмотреть свою информацию, авторизуйте запрос, установите часть в «фрагмент» (без кавычек), а затем установите для меня значение true.

Загрузите статический класс «youtube», «v3» с the PHP Google API client library, затем выполните фрагмент передачи вызова как часть, которую вы хотите, и «мой» установлен в true.

Для размещения видеоролика текущего пользователя, есть an example that ships with the PHP client library. Следующие изменения будут перечислены действия пользователя: ответ

// Exchange the OAuth 2.0 authorization code for user credentials.   
    $client->authenticate($code);            
    $token = json_decode($client->getAccessToken()); 

    ...       

    $activities = $youtube->activities->listActivities('snippet', array(  
    'mine' => 'true',               
)); 

    foreach ($activities['items'] as $activity) {        
    error_log(serialize($activity));           
    }    
Смежные вопросы