Youtubeへの動画投稿ができない(C#)

エラー400が返ってきます。
原因をご存知の方教えてください

プログラム全文は以下に掲載しています。
http://d.hatena.ne.jp/bontensuzuki/20110505/1304545098

以下のコードはYoutubeのデベロッパガイド
「ブラウザベースのアップロード」
「手順 1 - 動画メタデータのアップロード」
http://code.google.com/intl/ja/apis/youtube/developers_guide_protocol.html#Browser_based_uploading
を参考にして書いています。
「ClientLogin トークン」は受け取っています。

//Youtubeの動画投稿コード(動かない)
//送信先のURL
string url = "http://gdata.youtube.com/action/GetUploadToken";
//文字コード
System.Text.Encoding enc =
System.Text.Encoding.GetEncoding("UTF-8");
///投稿できる文字数の制約上、以下はブログを参照してください

回答の条件
  • 1人10回まで
  • 登録:
  • 終了:2011/05/05 10:36:37
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答1件)

id:a-kuma3 No.1

回答回数4973ベストアンサー獲得回数2154

ポイント100pt

ステータスが 400 (Bad Request) なのだから、リクエストの内容がおかしい。

ぱっと見て、おかしいところ。

  • マルチパートのリクエストの体裁になって無い

    • 全体のヘッダの Content-Type が multipart じゃない

    • boundary がきちんと入って無い

    • バイナリデータのヘッダが入って無い

  • entry の XML 宣言が無い

id:bontensuzuki

回答ありがとうございます。

先ず本来入れるべきでない、boudaryが一部入っていたので、それは省きました。ご指摘ありがとうございます。

以下の考え方をもとに再度動作確認をしましたが、同様にステータス「400」でNGとなりました。

---------------------------

1)「マルチパートの体裁になっていない」ですが、

 Youtubeのデベロッパガイド

   「ブラウザベースのアップロード」

   「手順 1 - 動画メタデータのアップロード」

    http://code.google.com/intl/ja/apis/youtube/developers_guide_pro...

 を参照しています。質問がきちんと書いていないので申し訳ありませんでしたが、「メタデーターのアップロードで400を喰らう」

 が正しい質問です。

 

 その手順1を見ると

  全体ヘッダは--Content-Type: application/atom+xml; charset=UTF-8となっております。

  実際に、動画データのアップロードは手順2でになり、今回の質問手順1には含まれませんので良いのかなと思っています。

   したがって、A)Content-Typeは 正しいのではないか

         B)boundaryはご指摘のとおり省いたのが正しいのではないか

         C)バイナリのヘッダは不要のままではないか

   と思っております。

2)「entryのXML宣言がない」ですが、

 はてな日記にはなぜか表示されていませんでしたが、「<?xml version="1.0"?>」をxmlの冒頭に入れております。

 (チェック漏れですみません。表示されませんでしたので 括弧:<を2バイト文字にあえてしています)

2011/05/05 10:21:36
  • id:bontensuzuki
    なかなか問題が解決しそうにないので、良回答に3000ポイントを差し上げることにしました。

    同じ質問をこちらで受け付けています。
    http://q.hatena.ne.jp/1304559321

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません