A service error occurred: %s
An client error occurred: %s
You need to set \$OAUTH2_CLIENT_ID and
\$OAUTH2_CLIENT_ID before proceeding.
END;
} else {
// If the user hasn't authorized the app, initiate the OAuth flow
$state = mt_rand();
$client->setState($state);
$_SESSION['state'] = $state;
$authUrl = $client->createAuthUrl();
$htmlBody = << You need to authorize access before proceeding.
END;
}
/**
* Updates a video's default language and sets its localized metadata.
*
* @param Google_Service_YouTube $youtube YouTube service object.
* @param string $videoId The id parameter specifies the video ID for the resource
* that is being updated.
* @param string $defaultLanguage The language of the video's default metadata
* @param string $language The language of the localized metadata
* @param string $title The localized title to be set
* @param string $description The localized description to be set
* @param $htmlBody - html body.
*/
function setVideoLocalization(Google_Service_YouTube $youtube, $videoId, $defaultLanguage,
$language, $title, $description, &$htmlBody) {
// Call the YouTube Data API's videos.list method to retrieve videos.
$videos = $youtube->videos->listVideos("snippet,localizations", array(
'id' => $videoId
));
// If $videos is empty, the specified video was not found.
if (empty($videos)) {
$htmlBody .= sprintf('Can\'t find a video with video id: %s
', $videoId);
} else {
// Since the request specified a video ID, the response only
// contains one video resource.
$updateVideo = $videos[0];
// Modify video's default language and localizations properties.
// Ensure that a value is set for the resource's snippet.defaultLanguage property.
$updateVideo['snippet']['defaultLanguage'] = $defaultLanguage;
$localizations = $updateVideo['localizations'];
if (is_null($localizations)) {
$localizations = array();
}
$localizations[$language] = array('title' => $title, 'description' => $description);
$updateVideo['localizations'] = $localizations;
// Call the YouTube Data API's videos.update method to update an existing video.
$videoUpdateResponse = $youtube->videos->update("snippet,localizations", $updateVideo);
$htmlBody .= "Updated video
";
$htmlBody .= sprintf('
';
}
}
/**
* Returns localized metadata for a video in a selected language.
* If the localized text is not available in the requested language,
* this method will return text in the default language.
*
* @param Google_Service_YouTube $youtube YouTube service object.
* @param string $videoId The videoId parameter instructs the API to return the
* localized metadata for the video specified by the video id.
* @param string language The language of the localized metadata.
* @param $htmlBody - html body.
*/
function getVideoLocalization(Google_Service_YouTube $youtube, $videoId, $language, &$htmlBody) {
// Call the YouTube Data API's videos.list method to retrieve videos.
$videos = $youtube->videos->listVideos("snippet", array(
'id' => $videoId,
'hl' => $language
));
// If $videos is empty, the specified video was not found.
if (empty($videos)) {
$htmlBody .= sprintf('Can\'t find a video with video id: %s
', $videoId);
} else {
// Since the request specified a video ID, the response only
// contains one video resource.
$localized = $videos[0]["snippet"]["localized"];
$htmlBody .= "Video
";
$htmlBody .= sprintf('
';
}
}
/**
* Returns a list of localized metadata for a video.
*
* @param Google_Service_YouTube $youtube YouTube service object.
* @param string $videoId The videoId parameter instructs the API to return the
* localized metadata for the video specified by the video id.
* @param $htmlBody - html body.
*/
function listVideoLocalizations(Google_Service_YouTube $youtube, $videoId, &$htmlBody) {
// Call the YouTube Data API's videos.list method to retrieve videos.
$videos = $youtube->videos->listVideos("snippet,localizations", array(
'id' => $videoId
));
// If $videos is empty, the specified video was not found.
if (empty($videos)) {
$htmlBody .= sprintf('Can\'t find a video with video id: %s
', $videoId);
} else {
// Since the request specified a video ID, the response only
// contains one video resource.
$localizations = $videos[0]["localizations"];
$htmlBody .= "Video
";
foreach ($localizations as $language => $localization) {
$htmlBody .= sprintf('
';
}
}
?>