• Как получить ID Youtube канала при авторизации через google oauth?

    @Maiso Автор вопроса
    Решение:
    $curl = curl_init("https://youtube.googleapis.com/youtube/v3/channels?mine=true&key=" . Cms::setup('google_key'));
                    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
                    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE); // Disables SSL verification
                    curl_setopt($curl, CURLOPT_HTTPHEADER, array(
                        'Accept: application/json',
                        'Authorization: Bearer ' . $data['access_token']
                    ));
                    $user = curl_exec($curl);
                    $user = json_decode($user, true);


    А когда есть ID канала можно получать дальше различную информацию, отправляя запросы:
    $info = file_get_contents('https://www.googleapis.com/youtube/v3/channels?part=statistics&id=' . Cms::Input($channel) . '&key=' . Cms::setup('googlecloud'));
            $info = json_decode($info, true);
    
    $info = file_get_contents('https://www.googleapis.com/youtube/v3/channels?part=brandingSettings&id=' . Cms::Input($channel) . '&key=' . Cms::setup('googlecloud'));
            $info = json_decode($info, true);
    
    $info = file_get_contents('https://www.googleapis.com/youtube/v3/channels?part=snippet&id=' . Cms::Input($channel) . '&key=' . Cms::setup('googlecloud'));
            $info = json_decode($info, true);


    А так получаю данные о последнем видео на канале:
    $xml = simplexml_load_file(sprintf('https://www.youtube.com/feeds/videos.xml?channel_id=%s', $channel));
    
            if (!empty($xml->entry[0]->children('yt', true)->videoId[0])) {
                $date = $xml->entry[0]->published;
                $name = $xml->entry[0]->title;
                $id = $xml->entry[0]->children('yt', true)->videoId[0];
            }
    Ответ написан
    Комментировать