ユーザーのお気に入りのプレイリストを取得する際に問題が発生しました。
シナリオ:ユーザーのお気に入りをYouTubeで直接開きます(つまり、youtube.com / playlist?list = FL ...)。これで、そのリストで動画が削除された(または非公開の、除外された)場合、それらはページに定期的に表示されます。
しかし、API(つまり、gdata.youtube.com/feeds/api/users/.../favorites?v=2&start-index=1&safeSearch=none&alt=json)を介してリストを受信しようとすると、これらのビデオは含まれません。応答(私の場合はjson)。私はsafesearch=noneパラメータを使用して、ローカリゼーションによって除外されたビデオを「強制的に」含めます(これらも問題を引き起こすため)。また、欠落しているビデオがまったくないというヒントも含まれていません。これで、start-indexを介して次の部分をロードするときに問題が発生します。
利用できない/削除された動画がある場合、結果は上に移動した利用可能な動画のリストになります。次の部分(例start-index = 26)をロードしようとすると、前の(1-25)結果から重複したビデオのリストが表示されます。リストの先頭には、前のリクエストで削除された動画と同じ数の重複があります。
start-indexを使用する場合、APIは削除されたビデオを考慮しないと思います。これはバグですか?また、次の部分をロードするために使用できる結果には、新しい「修正された」インデックスはありません。
これまでにテストした通常のプレイリストではこのバグは発生しないため、これはお気に入りに対してのみ有効である可能性があります。たとえば、チャンネル「HouseElectroBootleg」を使用してこの効果を再現できます。元のお気に入りを見てください。
youtube.com/playlist?list=FLUb8dHB7cvFY-Ez8SmRYWgA
次に、API 1-25を介して(削除されたものがありません):
gdata.youtube.com/feeds/api/users/HouseElectroBootleg/favorites?start-index=1&safeSearch=none&alt=json&v=2
そして今、バグのある結果(インデックス26から開始):
gdata.youtube.com/feeds/api/users/HouseElectroBootleg/favorites?start-index=26&safeSearch=none&alt=json&v=2
正しいインデックス値または機能していないビデオの数を取得するにはどうすればよいですか?オフセットに数値を追加して修正できますか?
私の悪い英語をありがとう、そして申し訳ありません、私は私の問題をできるだけよく説明しようとしました。