3

Python と API v3.0 を使用して、最近のすべての Youtube アップロードのリストを取得しようとしています。私は youtube.search().list を使用していますが、結果はすべて過去数年間で一見ランダムな時間にアップロードされており、日付順に並べられていません。コードのサンプルを添付しました。

def getSearchResults():
  """ Perform an empty search """
  search_results = youtube.search().list(
    part="snippet",
    order="date",
    maxResults=50,
    type="video",
    q=""
  ).execute()    

  return search_results

def getVideoDetails(video):
  """ Get details of search results """
  video_id = video["id"]["videoId"]
  video_title = video["snippet"]["title"]
  video_date = video["snippet"]["publishedAt"]

  return video_id, video_title, video_date

search_results = getSearchResults()

for result in search_results["items"]:
  print getVideoDetails(result)

どんな助けでも大歓迎です!

編集:数回再試行した後、正しい出力 (最近アップロードされた動画をアップロード日で並べ替えたもの) が得られることもあれば、得られないこともあります (一見ランダムな時間の動画になります)。結果が何に依存するのかわかりませんが、特定の時間帯には機能し、他の時間には機能しないため、問題は私のコードではなく API にあるようです。

編集 2: API に問題があることを示すさらなる証拠: youtube.search().list の API リファレンスの [試してみる] セクションでの日付またはタイトルによる並べ替えもおかしいです。

更新: Google はこの問題を認識しており、修正済みのようです。

4

0 に答える 0