1

「この操作には開発者キーが必要です」という問題の解決策が見つかりません。

ここに私のコードがあります:

require_once 'Zend/Loader.php'; // the Zend dir must be in your include_path
Zend_Loader::loadClass('Zend_Gdata_YouTube');
$yt = new Zend_Gdata_YouTube();

Zend_Loader::loadClass('Zend_Gdata_AuthSub');
Zend_Loader::loadClass('Zend_Gdata_ClientLogin'); 


$authenticationURL= 'https://www.google.com/accounts/ClientLogin';
$httpClient = 
  Zend_Gdata_ClientLogin::getHttpClient(
              $username = '************@gmail.com',
              $password = '************',
              $service = 'youtube',
              $client = null,
              $source = '************', // a short string identifying your application
              $loginToken = null,
              $loginCaptcha = null,
              $authenticationURL);

// Note that this example creates an unversioned service object.
// You do not need to specify a version number to upload content
// since the upload behavior is the same for all API versions.
$yt = new Zend_Gdata_YouTube($httpClient);

// create a new VideoEntry object
$myVideoEntry = new Zend_Gdata_YouTube_VideoEntry();

// create a new Zend_Gdata_App_MediaFileSource object
$filesource = $yt->newMediaFileSource('asd.avi');
$filesource->setContentType('video/x-ms-wmv');
// set slug header
$filesource->setSlug('asd.avi');

// add the filesource to the video entry
$myVideoEntry->setMediaSource($filesource);

$myVideoEntry->setVideoTitle('My Test Movie');
$myVideoEntry->setVideoDescription('My Test Movie');
// The category must be a valid YouTube category!
$myVideoEntry->setVideoCategory('Autos');

// Set keywords. Please note that this must be a comma-separated string
// and that individual keywords cannot contain whitespace
$myVideoEntry->SetVideoTags('cars, funny');

// set some developer tags -- this is optional
// (see Searching by Developer Tags for more details)
$myVideoEntry->setVideoDeveloperTags(array('mydevtag', 'anotherdevtag'));

// set the video's location -- this is also optional
$yt->registerPackage('Zend_Gdata_Geo');
$yt->registerPackage('Zend_Gdata_Geo_Extension');
$where = $yt->newGeoRssWhere();
$position = $yt->newGmlPos('37.0 -122.0');
$where->point = $yt->newGmlPoint($position);
$myVideoEntry->setWhere($where);

// upload URI for the currently authenticated user
$uploadUrl = 'http://uploads.gdata.youtube.com/feeds/api/users/default/uploads';

// try to upload the video, catching a Zend_Gdata_App_HttpException, 
// if available, or just a regular Zend_Gdata_App_Exception otherwise
try {
  $newEntry = $yt->insertEntry($myVideoEntry, $uploadUrl, 'Zend_Gdata_YouTube_VideoEntry');
} catch (Zend_Gdata_App_HttpException $httpException) {
  echo $httpException->getRawResponseBody();
} catch (Zend_Gdata_App_Exception $e) {
    echo $e->getMessage();
}             

次の行で開発キーを使用しようとしていますが、これをどこに置く必要がありますか?

$developerKey = 'ABC123 ... ';
$applicationId = 'Video uploader v1';
$clientId = 'My video upload client - v1';

$yt = new Zend_Gdata_YouTube($httpClient, $applicationId, $clientId, $developerKey);

YouTube に動画をアップロードするための完全に機能する PHP コードを見つけようとしましたが、何も見つかりませんでした........

4

2 に答える 2

2

開発者キーの入手方法

開発者キーは、Google YouTube API で製品を作成することで取得できます。

Google アカウントにログインします。

ステップ1

初めての場合は、開発者プロファイルの作成に自動的にリダイレクトされます。

ステップ2

開発者プロファイルを作成したら、先に進んで製品を作成してください。必要なものがすべて揃っている可能性があります。

ステップ3

製品を作成すると、検閲されたテキストボックスに開発者キーが表示されます (「開発者キーはこちら」)。

step4

それをコードにコピーします。バージョン 3 の API を使用している場合は、そこからクライアント キーを取得できます。

クライアントIDの取得方法

クライアント ID を取得するには、Google API のコンソールで API プロジェクトを作成する必要があります。

Google API のコンソール

ログインするとこんなページが!プロジェクトの作成を押して、プロジェクトを作成します。

2step1

プロジェクトが自動的に作成されるので、使用するサービスを選択する必要があります。YouTube を使用する場合は、YouTube Data API を選択します。

2step2

これで、[API アクセス] タブに移動できるようになります。そこで OAuth ID を作成します。

2step3

製品情報を入力してください:

2step4

そのタイプを選択してください:

2step5

お客様IDを取得!:D

2step6

于 2013-04-02T20:26:28.480 に答える