私は自分のアカウントにアクセスするために自分のWebアプリケーションを認証するためにYouTubeにログインしているWebアプリケーションを持っています。しかし、自分のアップロードした動画を実際に一覧表示するにはYouTubeのユーザー名が必要です。提供するYouTubeのユーザー名が、認証に使用したアカウントと一致していることを確認します。言い換えれば、私は、アップロードしたビデオを他の人と共有することができないようにしたい。これを行う方法はありますか?YouTubeのPHP API:youtubeのユーザー名が認証トークンと一致することを確認してください
私は次のコードでC#.NETに前にこれを行っていた:
YouTubeRequestSettings yt_settings = new YouTubeRequestSettings(<devID name>, devKey, auth);
YouTubeRequest yt_request = new YouTubeRequest(yt_settings);
Uri uri = new Uri("http://gdata.youtube.com/feeds/api/users/default/uploads/?start-index=1&max-results=1");
Feed<Video> videoFeed = yt_request.Get<Video>(uri);
string uploader = "";
if (videoFeed.Entries.Count() > 0)
uploader = videoFeed.Entries.ElementAt(0).Uploader;
しかし、私はPHPと似た何かをしようとしたとき、私は標準飼料のように見えるものを手に入れる:
$yt = new Zend_Gdata_YouTube($http_client,<devID name>,null,$_yt_dev_key);
$feed_url = urlencode("http://gdata.youtube.com/feeds/api/users/default/uploads/?start-index=1&max-results=1");
$videoFeed = $yt->getVideoFeed();
if(count($videoFeed) > 0)
{
$videoEntry = $videoFeed[0];
echo var_dump($videoEntry);
}
誰かが私が何か間違っているのかどうか分かりませんか?
------------------アップデート----------------------
I認証されたセッションでユーザーのためにYouTubeビデオフィードを取得するソリューションをお持ちです。 $ videoFeed = $ yt-> getuserFeed( "default"); しかし、私はまだこれからアップローダ名を取得する方法を検討していますので、私は古いC#/ Asp .Net Webアプリケーションで行ったように、JavaScriptから直接ビデオリストを直接実行できます。
----------- RATHER ROUGH SOLUTION ------------
まあ、これは正確にエレガントなソリューションではありませんが、それはどのような私です働いている。
以下は
$videoFeed = $yt->getuserUploads("default");
if(count($videoFeed) > 0)
{
$videoEntry = $videoFeed[0];
$v_dump = var_export($videoEntry, true);
$check_for = "http://gdata.youtube.com/feeds/api/users/";
$pos = strpos($v_dump,$check_for);
$start_pos = $pos + strlen($check_for);
$user_name = "";
for($i = $start_pos; $i < strlen($v_dump); $i++)
{
if(($v_dump[$i] == '/') or ($v_dump[$i] == '?'))
break;
$user_name .= $v_dump[$i];
}
echo $user_name;
}
は基本的に、私はその後、全体のビデオエントリーを通じてフィードURLの最初の一般的な部分のための可変文字列表現を解析しています...のVideoEntryオブジェクトからユーチューブのユーザー名を抽出しますユーザー名であるURLの次のトークンを取得します。言い換えれば、私は、VaRのダンプにこのURLを見つけると、ユーザー名を解析しています:
http://gdata.youtube.com/feeds/api/users/<username>/uploads
誰もがそれを行うには良いとクリーンな方法を見つけることができれば、それは素晴らしいことです。このような大きな文字列を解析することは、これを行うための非常に汚い方法のようです。
申し訳ありませんが、あなたは$ yt-で最初にV2を起動する必要があるかもしれません> setMajorProtocolVersion(2); – Patrick