Я пытаюсь написать скрипт, который получит отчет YouTube Analytics Report для каждого видео на определенном канале. Я установил PHP-клиентскую библиотеку Google через Composer, и я считаю, что это лучшая практика.Моя проблема сейчас заключается в том, что, когда я запускаю код, я получаю ошибку, я использую V1 APi, несмотря на то, что я следую всей документации для обновления до V2 API ... Мой код такой, как показано ниже
public function getVideoTrafficSource($videoId){
if($this->session_available){
$channelres = array();
$msg = "";
$key_dir = "../".file_dir."/".$_SESSION['my_user_name'].".txt";
$result = true;
if(file_exists($key_dir)){
$key = file_get_contents($key_dir);
$result = true;
}else{
$result = false;
}
$client = new Google_Client();
$client->setApplicationName($this->APPName);
$client->setClientId($this->OAUTH2_CLIENT_ID);
$client->setAccessType('offline');
$client->setAccessToken($key);
$client->setScopes($this->scope);
$client->setClientSecret($this->OAUTH2_CLIENT_SECRET);
if(!$result){
$msg = "No Key file available";
}else{
try{
if ($client->getAccessToken()) {
if($client->isAccessTokenExpired()) {
$newToken = json_decode($key);
$client->refreshToken($newToken->refresh_token);
//file_put_contents($key_dir, $client->getAccessToken());
}
$youtube = new Google_Service_YouTubeAnalytics($client);
$trafficReport = $youtube->reports->query(array('ids'=> 'channel==UCRRUR9-KV3TyuFcZwhM_9Zw'),array('startDate'=> '2017-11-01'),array('endDate'=> '2018-11-01'),array('dimensions'=> 'insightTrafficSourceDetail'),array('metrics'=> 'estimatedMinutesWatched,views'), array('filters'=> 'video==sDzJhtmvLKQ;insightTrafficSourceType==EXT_URL'),array('sort'=> '-estimatedMinutesWatched') );
//$trafficReport = $youtube->reports->query('2017-01-01','2018-01-01', 'views', 'insightTrafficSourceType', 'video=={$videoId}', 'views');
}
$msg = $trafficReport;
} catch(Google_Service_Exception $e) {
$msg = $e->getMessage();
}catch (Exception $e) {
$msg = $e->getMessage();
}
}
}else{
$msg = "Session Expired";
}
return $msg;
}
Я не знаю, если что-то не так с моим кодом .. Это ошибка, которую я получаю до сих пор
error":"{\n \"error\": {\n \"errors\": [\n {\n \"domain\": \"global\",\n \"reason\": \"deleted\",\n \"message\": \"Version 1 of the YouTube Analytics API has been deprecated as of November 1, 2018. Please refer to the migration guide for details about how to update your client to work with version 2 of the API: https:\/\/developers.google.com\/youtube\/analytics\/migration.\"\n }\n ],\n \"code\": 410,\n \"message\": \"Version 1 of the YouTube Analytics API has been deprecated as of November 1, 2018. Please refer to the migration guide for details about how to update your client to work with version 2 of the API: https:\/\/developers.google.com\/youtube\/analytics\/migration.\"\n }\n}\n"}