回答編集履歴

5

 

2022/06/10 05:14

投稿

退会済みユーザー
test CHANGED
@@ -57,4 +57,4 @@
57
57
  }
58
58
  ```
59
59
 
60
- 注:検索結果は重複る場合が有ります。これはAPIの仕様(バグ?)であり回避できないようです。
60
+ 注:検索結果は重複及び漏れがある場合が有ります。これはAPIの仕様(バグ?)であり回避できないようです。

4

 

2022/06/09 22:27

投稿

退会済みユーザー
test CHANGED
@@ -1,7 +1,7 @@
1
1
  results.nextPageToken で nextPageTokenを取得し、
2
2
  次のAPI呼び出し時に
3
3
  pageToken: nextPageToken
4
- を指定することで次のページを読みむことができます。
4
+ を指定することで次のページを読みむことができます。
5
5
 
6
6
  (下記は今回の質問に対する回答を端的に示すため変更を最小限にしております)
7
7
 

3

 

2022/06/09 21:38

投稿

退会済みユーザー
test CHANGED
@@ -38,14 +38,14 @@
38
38
  Logger.log(result.snippet.publishedAt)
39
39
  Logger.log(result.snippet.channelTitle)
40
40
  Logger.log(result.id.videoId)
41
- Logger.log(result.id.channelId)
41
+ Logger.log(result.snippet.channelId)
42
42
 
43
43
  // 追加(スプレッドシートにデータを表示)
44
44
  srcSheet.getRange(line, 1).setValue(result.snippet.title)
45
45
  srcSheet.getRange(line, 2).setValue(result.snippet.publishedAt)
46
46
  srcSheet.getRange(line, 3).setValue(result.snippet.channelTitle)
47
47
  srcSheet.getRange(line, 4).setValue(result.id.videoId)
48
- srcSheet.getRange(line, 5).setValue(result.id.channelId)
48
+ srcSheet.getRange(line, 5).setValue(result.snippet.channelId)
49
49
  line++;
50
50
  }
51
51
  // 結果から nextPageToken 取得
@@ -56,3 +56,5 @@
56
56
  }
57
57
  }
58
58
  ```
59
+
60
+ 注:検索結果は重複する場合が有ります。これはAPIの仕様(バグ?)であり回避できないようです。

2

 

2022/06/09 15:45

投稿

退会済みユーザー
test CHANGED
@@ -21,7 +21,7 @@
21
21
  let nextPageToken = null;
22
22
 
23
23
  // データを取得
24
- do {
24
+ while (true) {
25
25
  const results = YouTube.Search.list('snippet', {
26
26
  channelId: 'チャンネルID',
27
27
  publishedAfter: 'YYYY-MM-DDT00:00:00Z',
@@ -30,8 +30,6 @@
30
30
  maxResults: 50,
31
31
  pageToken: nextPageToken
32
32
  });
33
- // 結果から nextPageToken 取得
34
- nextPageToken = results.nextPageToken;
35
33
 
36
34
  // ログに表示
37
35
  for (let i = 0; i < results.items.length; i++) {
@@ -50,6 +48,11 @@
50
48
  srcSheet.getRange(line, 5).setValue(result.id.channelId)
51
49
  line++;
52
50
  }
51
+ // 結果から nextPageToken 取得
52
+ nextPageToken = results.nextPageToken;
53
+
53
- } while (nextPageToken); // nextPageTokenが見つかっている場合はループ
54
+ // nextPageTokenが見つからなければループを抜ける
55
+ if (nextPageToken == null) break;
56
+ }
54
57
  }
55
58
  ```

1

 

2022/06/09 15:41

投稿

退会済みユーザー
test CHANGED
@@ -1,4 +1,4 @@
1
- results.nextPageToken で nextPageToken取得し、
1
+ results.nextPageToken で nextPageToken取得し、
2
2
  次のAPI呼び出し時に
3
3
  pageToken: nextPageToken
4
4
  を指定することで次のページを読み来むことができます。