Как получить информационный канал от YouTube API - PullRequest
0 голосов
/ 01 октября 2019

У меня проблема. Я хочу получить информацию о своем канале, и я использую функцию GOOGLE_GET_USER_YOUTUBE (включая электронную почту и название канала), и я использую свой код, но не могу получить. Помогите мне исправить ошибку.

Используются библиотеки Google

if (!function_exists("Youtube")) {
    function Youtube() {
        require_once APPPATH . 'libraries/Google/autoload.php';
        $client = new Google_Client();
        $client->setAccessType("offline");
        $client->setIncludeGrantedScopes(true);
        $client->setApprovalPrompt("force");
        $client->setApplicationName('YouTube Analytics Dashboard');
        $client->setRedirectUri(PATH . "youtube_accounts");
        $client->setClientId(GOOGLE_ID);
        $client->setClientSecret(GOOGLE_SECRET);
        $client->setDeveloperKey(GOOGLE_API_KEY);
        $client->setScopes(array('https://www.googleapis.com/auth/youtube.force-ssl', 'https://www.googleapis.com/auth/userinfo.email'));
        return $client;
    }
}
if (!function_exists("GOOGLE_GET_USER_YOUTUBE")) {
    function GOOGLE_GET_USER_YOUTUBE($code = "") {
        try {
            $YT = Youtube();
            $YT->authenticate($code);
            $service = new Google_Service_YouTube($YT);
            $part = 'brandingSettings,status,id,snippet,contentDetails,contentOwnerDetails,statistics';
            $optionalParams = array(
            'mine' => true
            );
            $getchannel = $service->channels->listChannels($part, $optionalParams);
            $title = $getchannel->getSnippet()->getTitle();
            $oauth2 = new Google_Service_Oauth2($YT);
            $access_token = $YT->getAccessToken();
            $YT->setAccessToken($access_token);
            $Info = $oauth2->userinfo->get();

            return array("fullname" => $Info->email, "email" => $Info->email, "access_token" => $access_token, "uid" => session("uid"));
        }
        catch(Exception $e) {
            return array();
        }
    }
}
...