🤖

【ChatGPT】InputとOutputを指定→出来たプログラムをコピペで終了

2023/11/26に公開

概要

YouTubeDataAPIのレスポンスから必要なデータを抜き出して、
別のAPIにて使用したい。

Input

{
  "kind": "youtube#searchListResponse",
  "items": [
    {
      "kind": "youtube#searchResult",
      "etag": "pji2U5FbOfVbc0pf6mIA5EIy3lk",
      "id": {
        "kind": "youtube#video",
        "videoId": "JK49AB6Cudk"
      }
    },
    {
      "kind": "youtube#searchResult",
      "etag": "KKPDjTPySED8aeIYAw7A6Gb2_2s",
      "id": {
        "kind": "youtube#video",
        "videoId": "gFRtAAmiFbE"
      }
    }
  ]
}

上記のvideoIdを抜き出して、下記のような形で出力してください。

JK49AB6Cudk,gFRtAAmiFbE

Output

function extractVideoIds() {
  var jsonData = '{"kind":"youtube#searchListResponse"},"items":[{"kind":"youtube#searchResult","etag":"pji2U5FbOfVbc0pf6mIA5EIy3lk","id":{"kind":"youtube#video","videoId":"JK49AB6Cudk"}},{"kind":"youtube#searchResult","etag":"KKPDjTPySED8aeIYAw7A6Gb2_2s","id":{"kind":"youtube#video","videoId":"gFRtAAmiFbE"}}]}';

  // JSONデータをパース
  var jsonDataObject = JSON.parse(jsonData);

  // items内の各要素からvideoIdを抜き出して配列に格納
  var videoIds = jsonDataObject.items.map(function(item) {
    return item.id.videoId;
  });

  // 出力
  var outputString = videoIds.join(',');
  Logger.log(outputString);
}

あとがき

技術的にすごいことではないですが、
改めてすごい感動が襲ってきたので記事にしました。

Discussion