0

私はこのコードでビデオをアップロードしていました:

    try {
    $ytConfigData = App_SiteSettings::get('yt');
    $httpClient = Zend_Gdata_ClientLogin::getHttpClient($ytConfigData->user,$ytConfigData->password, 'youtube');
} catch (Zend_Gdata_App_CaptchaRequiredException $cre) {
    echo 'URL of CAPTCHA image: ' . $cre->getCaptchaUrl() . "\n";
    echo 'Token ID: ' . $cre->getCaptchaToken() . "\n";
    exit;
} catch (Zend_Gdata_App_AuthException $ae) {
    echo 'Problem authenticating: ' . $ae->exception() . "\n";
    exit;
}
$yt = new Zend_Gdata_YouTube($httpClient,
                                 null,//$applicationId,
                                 null,//$clientId,
                                 $ytConfigData->devkey);
$myVideoEntry= new Zend_Gdata_YouTube_VideoEntry()

Google での認証に失敗しました理由: 不正な認証

Gmail アカウントで 2 段階認証プロセスを有効にしていません

https://code.google.com/p/google-api-php-client/も試しまし たが、アップロードビデオを表示する例はありませんビデオをロードする方法の例はありません:(だからあなたは与えることができますスクリプトで YouTube に動画をアップロードするにはどうすればよいですか? よろしくお願いします。

4

1 に答える 1

0

申し訳ありませんが、1日後にスクリプトが再び機能する理由はわかりません:(ニュースは、万が一再び機能しなくなった場合に備えて、フォールバックがあるということです:) https://code.google.com/p/google-api -php-client/ 念のため載せておき ます

$client = new Google_Client();
$client->setClientId($OAUTH2_CLIENT_ID);
$client->setClientSecret($OAUTH2_CLIENT_SECRET);
$redirect = filter_var('https://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF'],
  FILTER_SANITIZE_URL);

$client->setRedirectUri($redirect);

$youtube = new Google_YoutubeService($client);


if (isset($_GET['code'])) {
  if (strval($_SESSION['state']) !== strval($_GET['state'])) {
    die('The session state did not match.');
  }

  $client->authenticate();
  $_SESSION['token'] = $client->getAccessToken();
  header('Location: ' . $redirect);
}

if (isset($_SESSION['token'])) {
  $client->setAccessToken($_SESSION['token']);
}

echo $_SESSION['token'];

if ($client->getAccessToken()) {
  try {
    $snippet = new Google_VideoSnippet();
$snippet->setTitle("Test title2");
$snippet->setDescription("Test descrition");
$snippet->setTags(array("tag1", "tag2"));
$snippet->setCategoryId("22");
$status = new Google_VideoStatus();
$status->privacyStatus = "private";
$video = new Google_Video();
$video->setSnippet($snippet);
$video->setStatus($status); 
$videoData = file_get_contents(ROOT_DIR.'/video-2012-11-23-23-24-45.mp4');
$r = $youtube->videos->insert("status,snippet", $video, array("data" => $videoData, "mimeType" => "video/mp4"));
于 2013-05-15T15:27:42.613 に答える