Youtube Api V3を使用して、特定のチャネルから新しいビデオの更新を取得するインテントをトリガーする単純なビデオ アプリを開発しています。
search.setKey(Constant.DEVELOPER_KEY);
search.setChannelId(channelID);
search.setOrder("date");
search.setPublishedAfter(new DateTime(yesterday));
search.setType("video");
search.setFields("items(id/kind,id/videoId,snippet/title,snippet/publishedAt)");
search.setMaxResults((long) 50);
SearchListResponse searchResponse = search.execute();
List<SearchResult> searchResultList = searchResponse.getItems();
問題:更新されていない結果のリストが返されます。
問題の説明:
この動作を数日間監視していると、最初に、YouTube Web サイト自体にアクセスすると、このチャネルで見つけることができる他のビデオが常にあることがわかりました。動画が検索結果に表示されるまで、さらに 30 ~ 60 分かかります。
遅延は実際には問題ありませんが、私が理解できないのは、ビデオ 1、ビデオ 2、およびビデオ 3 があり、1 が 2 の前にアップロードされ、2 が 3 の前にアップロードされているということです。 (日付の降順に並べ替えるために指定した URL で) 3-2-1、または 2-1、または 1 のみの結果を期待します。2 は、おそらくさらに 30 分後に到着します。つまり、遅延が問題である場合、少なくとも適切な順序でリストに表示されるはずですか?
期待される解決策:正確に日付順に並べ替えられた検索結果を取得して、ビデオを再クエリしようとするたびに、最後のビデオを取得した後に公開されたものを取得する必要があります。私の例のように、昨日からすべてを取得する方法ではありません。
お時間をいただきありがとうございます。私は本当に解決策を探しています。