1

何時間も検索した後、まだ解決策が見つかりませんでした。私が見つけた最も関連性の高い投稿は次のとおりです: Youtube API : サービス アカウント

Googleドキュメントのこの部分によると:こちら

私が読んだことは、YT API がサービス アカウントをサポートしていないということでした。そのため、他の解決策はまだ見つかりませんでした。

サービスのユーザーに Google アカウントへのログインを要求せずに、特定の Google (YT) アカウントに動画をアップロードする方法はありますか? 実際には、私のウェブサイトのすべてのユーザーがプライベート モードでいくつかのビデオを私の Youtube アカウントにアップロードできるようにしたいのですが、コードのこの部分を使用してクライアントを作成するときは、Google を使用します。

$client = new Google_Client();
$key = file_get_contents("some/path/to/".KEY_FILE);
$client->setClientId(CLIENT_ID);
     $client->setAssertionCredentials(
          new Google_AssertionCredentials(
              SERVICE_ACCOUNT_NAME,
              array('https://www.googleapis.com/auth/youtube'),
                $key
          )
     );
$client->setRedirectUri('some_url');
$client->setDeveloperKey('some_DEV_KEY');

自分の Google アカウントでログインするようユーザーに要求します...

コードに自分の資格情報を入力して、このログイン要求をバイパスする方法はありますか?

英語が下手で申し訳ありませんが、よろしくお願いします。

4

3 に答える 3

2

エリック、ブラウザ アップロード API (V2) https://developers.google.com/youtube/2.0/developers_guide_protocol_browser_based_uploadingを使用すれば、それが可能です。ただし、CORS を完全にはサポートしていないため、進行状況バーを表示できず、iframe を使用してブラウザーのリダイレクトを処理する必要があります。YoutubeはV3でCORSの問題を修正しましたが、ブラウザベースのアップロードをサポートしていないため、サーバーを介してビデオアップロードをプロキシするか(私はこれを行います)、ユーザーにGoogleアカウントでログインするように依頼する必要があります。プラスサービスを宣伝するために意図的にやったと思います。彼らが「修正」した後 (約 1 年かかりました)、@jeff という男が google plus を使ってログインするデモを見せてくれました! なんて冗談だ!

于 2013-09-22T15:52:53.323 に答える
0

やりたいことを簡単に実行できないのは設計によるものです。他の人があなたのアプリを介してあなたのアカウントにアップロードしたものに対して責任を負いたくありません。あなたが求めていることを達成するための最良の方法は、Youtube Direct Liteのようなものを使用することです。ユーザーは、自分の資格情報を使用して自分のアカウントに動画をアップロードしますが、それらの動画は、自分のアプリから実行するプレイリストに自動的に結び付けられます。 (さらに、これらのビデオを含めるかどうかを確認する機能も提供します)。

同じ種類のアプローチを実現する独自のソリューションを作成することもできます。私を信じてください...ある時点で、誰にもあなたの個人アカウントにアップロードさせることができないことに感謝するでしょう!

于 2013-06-25T16:48:19.867 に答える
0

解決策は次のとおりです。ClientLogin 認証を使用します。これにより、次の行で YT 資格情報を指定できます。

$httpClient = Zend_Gdata_ClientLogin::getHttpClient($youtubeEmail, $youtubePassword, 'youtube');

注意: 3 番目のパラメータは、接続したいサービスの「id」です。

ClientLogin が非推奨であることは知っていますが、このソリューションは機能します。より安全でクリーンなソリューションがある場合は、お知らせください:)

良い1日を

于 2013-07-01T13:20:27.553 に答える