6

Google YouTube API を使用して、ブラウザを介してウェブサイトから YouTube に動画を直接アップロードしようとしています。

API は 2 つのステップで機能します。最初のステップでは、タイトル、タグ、説明、カテゴリなどのすべてのメタデータを含む Video オブジェクトを作成する必要があります。次に、このオブジェクトを含むリクエストを YouTube に送信し、トークン オブジェクトを生成する必要があります。応答として。このトークン オブジェクトには、メンバーとしてトークン値とトークン URL があります。

2 番目のステップでは、アクション属性をトークン URL に設定してフォームを作成する必要があると提案されています。このフォームには、ファイル アップロード コントロールと、値としてトークン値を含む非表示フィールドが必要です。このフォームが投稿されると、動画が YouTube にアップロードされます。

これは、最初にユーザーにメタデータを要求し、次に実際のビデオ アップロードのためにユーザーを 2 番目のページにリダイレクトするという 2 段階のプロセスとして実行するとうまく機能します。ただし、これを単一のページで実現しようとしており、ユーザーには単一のステップとして表示されます。

'aspnetForm' が指定された MasterPage があります。そのため、runat='server'プロパティを持つ別のフォームを持つことはできません。

JavaScript/分離コードを使用して aspnetFrom のアクション属性を変更しようとしましたが、何をしても同じままです。

また、トークンを含む YouTube からの最初の応答が受信された後に、アクション タグがボタン クリック イベントに設定される別のネストされたフォームを配置しようとしました。しかし、このメソッドが呼び出された時点ではフォームが作成されていないため、これでも機能しません..

いくつかのアプローチを試しましたが、どれもうまくいかないようです..これに関する提案は素晴らしいでしょう.

状況を明確に理解するために他に質問がある場合は..お知らせください..


アップデート:

返信ありがとうございます。

この問題を解決するために、ビジネス ロジックを少し変更しました。それはずっと前のことであり、今のところ解決策を探していません..

ただし、質問はまだ未解決であり、回答を得ています。私はすべての助けに本当に感謝しているので、さらなる議論のために質問を開いたままにします.

4

3 に答える 3

4

http://code.google.com/apis/youtube/2.0/developers_guide_dotnet.html#Direct_Upload

于 2010-01-11T10:08:10.800 に答える
2

メタデータ用のテキスト フィールドとビデオ用のファイル アップロード コントロールを備えたユーザーに表示するフォームを作成します。

次に、ポストバックを処理するコードで、メタデータを YouTube API に送信してトークン値を取得できます。

次に、トークン値をオブジェクトのメソッドに渡してHttpWebRequestを作成し、プロパティを に設定します。次に、アップロードされたビデオを追加します (詳細については、「HTTPWebrequest (multipart/form-data) を使用してファイルをアップロードする」に対する Dr. Evil の回答を参照してください)。ファイルを呼び出すと、ファイルが送信されます。CreateWebRequestMethodPostGetResponse()

注意事項:

  1. ScriptTimeout: ユーザーが大きなファイルを YouTube にアップロードできるようにしている場合、送信に時​​間がかかると、スクリプトが途中で終了する可能性があります。
  2. 帯域幅: サーバーへのアップロードと YouTube へのアップロードの両方を考慮する必要があります。ユーザーが 2 段階のプロセスで YouTube に直接アップロードできるようにすることで、動画に触れることはなく、動画がサーバーに近づくこともありません。これは、あなたまたはホスティング プロバイダーの問題である可能性があります。たとえば、私のホストは、毎月の帯域幅で FTP 経由のトラフィックをカウントしていませんが、Web サイト経由でアップロード/ダウンロードされたファイルは含まれています。
于 2010-01-21T10:10:08.220 に答える
0

プログラムで YouTube フォームに投稿できます。私は最近、http://www.codeproject.com/KB/cs/uploadfileex.aspxにある例を修正して、夜間の仕事としてサード パーティの Web サイトにファイルを投稿するコードを書きました。

ファイルを YouTube に直接アップロードするのではなく、サーバーにアップロードしてから YouTube にアップロードする必要があるため、これにはパフォーマンスの低下が伴いますが、これはオプションです。

于 2009-03-11T14:31:42.050 に答える