Youtube Data APIがうまく使えない

動画一覧を取得するGASを作ってみたけれどうまく動かない(´・ω・`)

どうも動画の抜けがあると思って調べてみたら,1年分の動画を取得した時と半年分ずつ2回に分けた時の合計が違う.そんな馬鹿な(;゚Д゚)
2018/08/01~2019/08/01:337件
2018/08/01~2019/02/01:191件
2019/02/01~2019/08/01:166件

/**********************************************************************/
async function myFunction()
{
  let ops = {
    channelId: "UCMJiPpN_09F0aWpQrgbc_qg",
    maxResults: 50,
    regionCode: "JP",
    type: "video"
  };

  ops.pageToken = undefined;
  ops.publishedAfter = "2018-08-01T00:00:00Z";
  ops.publishedBefore = "2019-08-01T00:00:00Z";
  await countVideos(ops);

  ops.pageToken = undefined;
  ops.publishedAfter = "2018-08-01T00:00:00Z";
  ops.publishedBefore = "2019-02-01T00:00:00Z";
  await countVideos(ops);

  ops.pageToken = undefined;
  ops.publishedAfter = "2019-02-01T00:00:00Z";
  ops.publishedBefore = "2019-08-01T00:00:00Z";
  await countVideos(ops);
/**********************************************************************/
}
async function countVideos(ops)
{
 let sum = 0;

 do
 {
   let res = await YouTube.Search.list("id", ops);
   
   sum += res.items.length;
   ops.pageToken = res.nextPageToken;  
 }
 while(ops.pageToken != undefined);

 Logger.log(ops.publishedAfter + " -> " + ops.publishedBefore + ":" + sum);
/**********************************************************************/
}

画像1

※2020/02/07追記 
期間が長すぎるとうまくいかないバグがあるらしい.
1年毎→1月毎に変更して解決

この記事が気に入ったらサポートをしてみませんか?