У меня проблема. Я хочу получить информацию о своем канале, и я использую функцию 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();
}
}
}