0

YouTube がフィードで重複した動画を返さないようにする方法が見つかりません。私は現在 API v1 を使用していますが、v2 と v3 も移行する必要があることを理解しています。私は ZF 1 とその Gdata ライブラリを使用していますが、私がやりたいことに対する API レベルのサポートがあるかどうかは問題ではありません。

ただし、これらのバージョンのどちらでもソリューションが表示されません。

これが何が起こっているのかです。何らかの理由で、サーバー コードが重複した動画を並行してアップロードすることがあります。Youtube がそれを検出すると、フィードに動画が重複しているように見え、再生されません。

https://gdata.youtube.com/feeds/api/users/username/uploads/?max-results=50

そのユーザー アカウントから 50 本の動画を取得します。とにかくYouTubeに伝えることはありますか、重複している動画を返さないでください。

つまり、それが正しくないことはほとんど明白に思えますか?

フィードから重複を除外することについて何か知っている人はいますか? 返されたデータを確認しましたが、クリップが重複していることを示すステータスやその他の情報は示されていません。

うまくいけば、誰かが解決策を知っています。

乾杯!

4

2 に答える 2

0

V2 と V3 の両方で、ステータスが「拒否」になりました。これが V1 にも含まれている可能性があるかどうかを確認しましたか?

于 2013-05-03T04:47:31.360 に答える
0

わかったので、フィードで調べることができる状態プロパティがあることがわかりました。状態を確認し、拒否された場合は無視する方法については、以下のコードを参照してください。

いまいましいZend Framework v1のドキュメントは、この種のものにはほとんど存在しません。

$applicationId = 'App ID';
$clientId = 'Client ID';
$youtubeDeveloperKey = 'Developer Key';
$token = unserialize($gdata_oauth_access_token);
$httpClient = $token->getHttpClient($this->_oauthOptions);
$yt = new Zend_Gdata_YouTube($httpClient, $applicationId, $clientId, $youtubeDeveloperKey);

$url = 'https://gdata.youtube.com/feeds/api/users/' . $youtube_user_name . '/uploads/?max-results=50';
$videoFeed = $yt->getVideoFeed($url);

// process the feed
foreach ($videoFeed as $videoEntry) {
    $state = $videoEntry->getVideoState();
    if (is_object($state) && $state->name == 'rejected') {
        // skip this video
        continue;
    }
}
于 2013-05-15T00:55:48.177 に答える