前提・実現したいこと
youtubeのvideoIdの配列を用いて、そのvideoIdに一致する動画の情報をYoutube Data APIで集めようとしています。
言語はJavascript(GAS)
発生している問題・エラーメッセージ
Exception: API call to youtube.videos.list failed with error: Empty response
このようなエラーが出て、検索結果が出てきません。
該当のソースコード
Javascript
1 2 let ids = sheet.getRange(2,1,lastRow-1).getValues() //スプレッドシートのvideoIdの列から配列を作成 3 let ids_str = [] 4 for(let i = 0; i<ids.length-1; i++){ //配列の要素をString型に変更 5 ids_str[i] = String(ids[i]) 6 } 7 8 let videoData = YouTube.Videos.list("statistics",{id:ids_str,}); //idに配列を指定することでまとめて動画の情報を取得したい。
試したこと
該当部分の最後の行のvideoIdの配列を以下のように変更すれば(配列の要素を一度抜き出して、それをまた配列にする)問題なく複数の動画の情報を取得できましたが、あまりこの方法は使いたくないです。
let videoData = YouTube.Videos.list("statistics",{id:[ids_str[0],ids_str[1]],});
自分としては「配列A」と「配列Aの要素の配列」がJavascript上で扱いが違うのかなと思ったのですが、よくわかりません。
なぜ上の方法ではうまくいかず、下の方法をとればうまくいくのか教えていただければ幸いです。
あなたの回答
tips
プレビュー