{"id":3103,"date":"2024-11-07T20:17:38","date_gmt":"2024-11-07T11:17:38","guid":{"rendered":"https:\/\/secondlife.lol\/?p=3103"},"modified":"2024-11-23T22:28:35","modified_gmt":"2024-11-23T13:28:35","slug":"youtube-shorts-auto-download","status":"publish","type":"post","link":"https:\/\/secondlife.lol\/ja\/youtube-shorts-auto-download\/","title":{"rendered":"\u30e6\u30fc\u30c1\u30e5\u30fc\u30d6\u30b7\u30e7\u30fc\u30c4\u81ea\u52d5\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9 - \u7c21\u5358\u306a\u30b3\u30fc\u30c9\u3067\u4e00\u5ea6\u306b\u7d42\u308f\u3089\u305b\u308b\uff01"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">\uc694\uc998 \uc720\ud29c\ube0c \uc1fc\uce20, \uc815\ub9d0 \ud56b\ud558\uc8e0? \uc2a4\ud06c\ub864 \ud55c \ubc88\ub9cc \ud558\uba74 \uc2dc\uac04 \uac00\ub294 \uc904 \ubaa8\ub974\uace0 \uc5ec\ub7ec \uac1c\ub97c \ucb49\ucb49 \ubcf4\uac8c \ub418\uc8e0. \uadf8\ub7f0\ub370 \ub0b4\uac00 \uc9c1\uc811 \uc720\ud29c\ube0c\uc5d0 \uc62c\ub9b0 \ub3d9\uc601\uc0c1\uc744 \uad00\ub9ac\ucc28\uc6d0\uc5d0\uc11c \uc9c1\uc811 \ub2e4\uc6b4\ub85c\ub4dc\ud558\ub824\uace0 \ud558\uba74 \uc218\uc791\uc5c5\uc73c\ub85c \ud558\ub098\ud558\ub098 \ud074\ub9ad\ud574\uc11c \ub2e4\uc6b4\ub85c\ub4dc \ud558\ub824\uba74 \ub108\ubb34 \ubc88\uac70\ub86d\uc8e0?<\/p>\n\n\n<style>.kb-image3103_1792f0-ed .kb-image-has-overlay:after{opacity:0.3;border-top-left-radius:5px;border-top-right-radius:5px;border-bottom-right-radius:5px;border-bottom-left-radius:5px;}.kb-image3103_1792f0-ed img.kb-img, .kb-image3103_1792f0-ed .kb-img img{border-top-left-radius:5px;border-top-right-radius:5px;border-bottom-right-radius:5px;border-bottom-left-radius:5px;box-shadow:0px 0px 14px 0px rgba(0, 0, 0, 0.2);}<\/style>\n<div class=\"wp-block-kadence-image kb-image3103_1792f0-ed\"><figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"1200\" height=\"607\" src=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/11\/image-4-46.jpg\" alt=\"\uc720\ud29c\ube0c \uc1fc\uce20 \uc790\ub3d9 \ub2e4\uc6b4\ub85c\ub4dc, \ucd9c\ucc98: Asoso's K-pop Vault\" class=\"kb-img wp-image-3630\" srcset=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/11\/image-4-46.jpg 1200w, https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/11\/image-4-46-300x152.jpg 300w, https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/11\/image-4-46-600x304.jpg 600w, https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/11\/image-4-46-768x388.jpg 768w, https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/11\/image-4-46-18x9.jpg 18w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" \/><figcaption>( \uc720\ud29c\ube0c \uc1fc\uce20 \uc790\ub3d9 \ub2e4\uc6b4\ub85c\ub4dc, \ucd9c\ucc98: <a href=\"https:\/\/www.youtube.com\/@K-popVaul\" target=\"_blank\" rel=\"noopener\">Asoso&#8217;s K-pop Vault<\/a> )<\/figcaption><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\uadf8\ub798\uc11c \uc624\ub298\uc740 \uc9c0\uc778\uc758 \ucc44\ub110\uc5d0 \uc788\ub294 \uc720\ud29c\ube0c \uc1fc\uce20 \uc790\ub3d9 \ub2e4\uc6b4\ub85c\ub4dc \uae30\ub2a5\uc744 \uc218\ud589\ud558\ub294 \uac04\ub2e8\ud55c \ud30c\uc774\uc36c \ucf54\ub529\uc744 \uc900\ube44\ud588\uc5b4\uc694! \ucd08\ubcf4\uc790\ub3c4 \uc27d\uac8c \ub530\ub77c \ud560 \uc218 \uc788\ub3c4\ub85d \ub77c\uc778\ubcc4\ub85c \uce5c\uc808\ud558\uac8c \uc124\uba85\ud574 \ub4dc\ub9b4\uac8c\uc694.<\/p>\n\n\n<style>.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-content-wrap{padding-top:var(--global-kb-spacing-sm, 1.5rem);padding-right:var(--global-kb-spacing-sm, 1.5rem);padding-bottom:var(--global-kb-spacing-sm, 1.5rem);padding-left:var(--global-kb-spacing-sm, 1.5rem);border-top:3px solid var(--global-palette2, #2B6CB0);border-right:3px solid var(--global-palette2, #2B6CB0);border-bottom:3px solid var(--global-palette2, #2B6CB0);border-left:3px solid var(--global-palette2, #2B6CB0);border-top-left-radius:5px;border-top-right-radius:5px;border-bottom-right-radius:5px;border-bottom-left-radius:5px;box-shadow:0px 0px 14px 0px rgba(0, 0, 0, 0.2);}.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-contents-title-wrap{padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;}.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-contents-title-wrap{color:var(--global-palette2, #2B6CB0);}.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-contents-title{color:var(--global-palette2, #2B6CB0);font-size:28px;font-weight:regular;font-style:normal;}.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-content-wrap .kb-table-of-content-list{color:var(--global-palette1, #3182CE);line-height:2em;font-weight:regular;font-style:normal;margin-top:var(--global-kb-spacing-sm, 1.5rem);margin-right:0px;margin-bottom:0px;margin-left:0px;}.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-content-wrap .kb-table-of-content-list .kb-table-of-contents__entry:hover{color:var(--global-palette6, #718096);}@media all and (max-width: 1024px){.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-content-wrap{border-top:3px solid var(--global-palette2, #2B6CB0);border-right:3px solid var(--global-palette2, #2B6CB0);border-bottom:3px solid var(--global-palette2, #2B6CB0);border-left:3px solid var(--global-palette2, #2B6CB0);}}@media all and (max-width: 1024px){.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-contents-title{font-size:28px;}}@media all and (max-width: 767px){.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-content-wrap{border-top:3px solid var(--global-palette2, #2B6CB0);border-right:3px solid var(--global-palette2, #2B6CB0);border-bottom:3px solid var(--global-palette2, #2B6CB0);border-left:3px solid var(--global-palette2, #2B6CB0);}.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-contents-title{font-size:28px;}}<\/style>\n\n\n<h2 class=\"wp-block-heading\">1. \uc900\ube44\ubb3c: YouTube API\uc640 yt-dlp \uc124\uc815\ud558\uae30<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\uba3c\uc800, \uc720\ud29c\ube0c \uc1fc\uce20 \uc790\ub3d9 \ub2e4\uc6b4\ub85c\ub4dc\ub97c \uc704\ud55c <strong>YouTube API<\/strong>\uc640 <strong>yt-dlp<\/strong>\uac00 \ud544\uc694\ud569\ub2c8\ub2e4. YouTube API \ud0a4\ub294 <a href=\"https:\/\/console.cloud.google.com\/\" target=\"_blank\" rel=\"noopener\">Google Cloud Console<\/a>\uc5d0\uc11c \ubc1c\uae09\ubc1b\uc744 \uc218 \uc788\uc2b5\ub2c8\ub2e4. <code>yt-dlp<\/code>\ub294 \uc720\ud29c\ube0c \ub4f1 \uc5ec\ub7ec \uc0ac\uc774\ud2b8\uc758 \ub3d9\uc601\uc0c1\uc744 \ub2e4\uc6b4\ub85c\ub4dc\ud558\ub294 \ub370 \ub9e4\uc6b0 \uc720\uc6a9\ud55c \ub3c4\uad6c\uc785\ub2c8\ub2e4. YouTube API \ud0a4 &nbsp;\ud655\ubcf4\ub294 <a href=\"https:\/\/secondlife.lol\/youtube-video-shorts-list-extraction-with-python\/\" data-type=\"post\" data-id=\"2897\">\uc720\ud29c\ube0c \ub9ac\uc2a4\ud2b8 \ucd94\ucd9c: API\uc640 \ud30c\uc774\uc36c\uc73c\ub85c \uc790\ub3d9\ud654\ud558\ub294 \ubc29\ubc95<\/a> \ud3ec\uc2a4\ud2b8\ub97c \uaf2d \ud655\uc778\ud558\uc138\uc694!<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\uc124\uce58 \uba85\ub839\uc5b4<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/secondlife.lol\/vs-code-install\/\" data-type=\"post\" data-id=\"372\">VS code<\/a> \ub4f1 IDE \ud504\ub85c\uadf8\ub7a8 \ud130\ubbf8\ub110\uc5d0\uc11c <code>yt-dlp<\/code> \uc124\uce58\ub97c \uc704\ud55c \uba85\ub839\uc5b4\ub97c \uc544\ub798\uc640 \uac19\uc774 \uc2e4\ud589\ud558\uc2dc\uba74 \ub429\ub2c8\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>pip install yt-dlp<\/code><\/pre>\n\n\n<style>.kb-image3103_29ab3e-63 .kb-image-has-overlay:after{opacity:0.3;border-top-left-radius:5px;border-top-right-radius:5px;border-bottom-right-radius:5px;border-bottom-left-radius:5px;}.kb-image3103_29ab3e-63 img.kb-img, .kb-image3103_29ab3e-63 .kb-img img{border-top-left-radius:5px;border-top-right-radius:5px;border-bottom-right-radius:5px;border-bottom-left-radius:5px;box-shadow:0px 0px 14px 0px rgba(0, 0, 0, 0.2);}<\/style>\n<div class=\"wp-block-kadence-image kb-image3103_29ab3e-63\"><figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"606\" height=\"192\" src=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/11\/image-4-45.jpg\" alt=\"\uc720\ud29c\ube0c \uc1fc\uce20 \uc790\ub3d9 \ub2e4\uc6b4\ub85c\ub4dc\ub97c \uc704\ud55c \ud328\ud0a4\uc9c0 \uc124\uce58 - VS code \ud130\ubbf8\ub110 \ud654\uba74\" class=\"kb-img wp-image-3624\" srcset=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/11\/image-4-45.jpg 606w, https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/11\/image-4-45-300x95.jpg 300w, https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/11\/image-4-45-600x190.jpg 600w, https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/11\/image-4-45-18x6.jpg 18w\" sizes=\"(max-width: 606px) 100vw, 606px\" \/><figcaption>( \uc720\ud29c\ube0c \uc1fc\uce20 \uc790\ub3d9 \ub2e4\uc6b4\ub85c\ub4dc\ub97c \uc704\ud55c \ud328\ud0a4\uc9c0 \uc124\uce58 &#8211; VS code \ud130\ubbf8\ub110 \ud654\uba74 )<\/figcaption><\/figure><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">2. \uc720\ud29c\ube0c \uc1fc\uce20 \uc790\ub3d9 \ub2e4\uc6b4\ub85c\ub4dc \ud30c\uc774\uc36c \ucf54\ub529\ud558\uae30<\/h2>\n\n\n<style>.kb-image3103_aa7b51-d7 .kb-image-has-overlay:after{opacity:0.3;border-top-left-radius:5px;border-top-right-radius:5px;border-bottom-right-radius:5px;border-bottom-left-radius:5px;}.kb-image3103_aa7b51-d7 img.kb-img, .kb-image3103_aa7b51-d7 .kb-img img{border-top-left-radius:5px;border-top-right-radius:5px;border-bottom-right-radius:5px;border-bottom-left-radius:5px;box-shadow:0px 0px 14px 0px rgba(0, 0, 0, 0.2);}<\/style>\n<div class=\"wp-block-kadence-image kb-image3103_aa7b51-d7\"><figure class=\"aligncenter size-large\"><img decoding=\"async\" width=\"600\" height=\"538\" src=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/11\/image-3-600x538.png\" alt=\"\uc720\ud29c\ube0c \uc1fc\uce20 \uc790\ub3d9 \ub2e4\uc6b4\ub85c\ub4dc\" class=\"kb-img wp-image-3110\" srcset=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/11\/image-3-600x538.png 600w, https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/11\/image-3-300x269.png 300w, https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/11\/image-3-768x689.png 768w, https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/11\/image-3-13x12.png 13w, https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/11\/image-3.png 1200w\" sizes=\"(max-width: 600px) 100vw, 600px\" \/><figcaption>( \uc720\ud29c\ube0c \uc1fc\uce20 \uc790\ub3d9 \ub2e4\uc6b4\ub85c\ub4dc \ud30c\uc774\uc36c \ucf54\ub529 \ud504\ub85c\uc138\uc2a4 \uac1c\uc694 )<\/figcaption><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774\uc81c \uae30\ubcf8 \uc900\ube44\uac00 \ub410\uc73c\ub2c8 \ud30c\uc774\uc36c \ucf54\ub529\uc744 \uc2dc\uc791\ud574 \ubcf4\uc2dc\uc8e0! \uc544\ub798\uc758 \uc2a4\ud06c\ub9bd\ud2b8(\ucf54\ub4dc)\ub85c \uc720\ud29c\ube0c \uc1fc\uce20\ub97c \uc790\ub3d9\uc73c\ub85c \ub2e4\uc6b4\ub85c\ub4dc \ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uac01 \ub3d9\uc601\uc0c1\uc758 \uc81c\ubaa9\uc744 \uae30\uc900\uc73c\ub85c \ud30c\uc77c\uba85\uc744 \uc800\uc7a5\ud558\uace0, \uc5f0\ub839 \uc81c\ud55c\uc774 \uc788\ub294 \uc1fc\uce20\ub3c4 \uc798 \ub2e4\uc6b4\ub85c\ub4dc\ud560 \uc218 \uc788\uc5b4\uc694.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>from googleapiclient.discovery import build\nimport yt_dlp\nimport re\n\n# API \ud0a4 \uc785\ub825\nAPI_KEY = '\uc5ec\uae30\uc5d0_API_\ud0a4_\uc785\ub825'\n\n# YouTube API \ube4c\ub4dc \uc124\uc815\nyoutube = build('youtube', 'v3', developerKey=API_KEY)\n\n# \uc1fc\uce20 \ubaa9\ub85d\uacfc ID \uac00\uc838\uc624\uae30 \ud568\uc218 \uc815\uc758\ndef get_shorts_titles_and_ids(channel_id, max_results=100):\n    shorts_info = &#91;]\n    next_page_token = None\n\n    while len(shorts_info) &lt; max_results:\n        request = youtube.search().list(\n            part='snippet',\n            channelId=channel_id,\n            maxResults=min(50, max_results - len(shorts_info)),\n            type='video',\n            videoDuration='short',\n            pageToken=next_page_token\n        )\n        response = request.execute()\n\n        for item in response&#91;'items']:\n            title = item&#91;'snippet']&#91;'title']\n            video_id = item&#91;'id']&#91;'videoId']\n            shorts_info.append((title, video_id))\n\n        next_page_token = response.get('nextPageToken')\n        if not next_page_token:\n            break\n\n    return shorts_info&#91;:max_results]\n\n# \ub3d9\uc601\uc0c1 \ub2e4\uc6b4\ub85c\ub4dc \ud568\uc218\ndef download_shorts(shorts_info):\n    for idx, (title, video_id) in enumerate(shorts_info, 1):\n        url = f\"https:\/\/www.youtube.com\/watch?v={video_id}\"\n        try:\n            sanitized_title = re.sub(r'&#91;\\\\\/*?:\"&lt;&gt;|]', \"\", title)\n            filename = f\"{idx}. {sanitized_title}.mp4\"\n\n            ydl_opts = {\n                'format': 'best&#91;ext=mp4]',\n                'outtmpl': filename,\n                'noplaylist': True,\n            }\n\n            with yt_dlp.YoutubeDL(ydl_opts) as ydl:\n                print(f\"Downloading: {filename}\")\n                ydl.download(&#91;url])\n                print(f\"Downloaded: {filename}\")\n\n        except Exception as e:\n            print(f\"Failed to download {title}: {e}\")\n\n# \ucc44\ub110 ID \uc785\ub825 \ubc0f \uc2e4\ud589\nchannel_id = '\uc5ec\uae30\uc5d0_\ucc44\ub110_ID_\uc785\ub825'\nshorts_info = get_shorts_titles_and_ids(channel_id)\ndownload_shorts(shorts_info)<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">3. \ucf54\ub4dc \ub77c\uc778\ubcc4 \uc124\uba85 \u2013 \uc720\ud29c\ube0c \uc1fc\uce20 \uc790\ub3d9 \ub2e4\uc6b4\ub85c\ub4dc\uc758 \ubaa8\ub4e0 \uac83<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774\uc81c \ud30c\uc774\uc36c \ucf54\ub529 \ub0b4\uc5ed \uac01 \uc904\uc744 \ud55c \uc904\uc529 \uc0b4\ud3b4\ubcf4\uba70 \uc5b4\ub5bb\uac8c \ub3d9\uc791\ud558\ub294\uc9c0 \uc54c\uc544\ubcf4\uaca0\uc2b5\ub2c8\ub2e4!<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>API_KEY<\/code>\ub294 YouTube API \ud0a4\ub97c \uc785\ub825\ud558\ub294 \uacf3\uc785\ub2c8\ub2e4. Google Cloud Console\uc5d0\uc11c \ubc1c\uae09\ubc1b\uc740 \ud0a4\ub97c \uc0ac\uc6a9\ud558\uc138\uc694.<\/li>\n\n\n\n<li><code>youtube = build('youtube', 'v3', developerKey=API_KEY)<\/code>: YouTube API\uc5d0 \uc5f0\uacb0\ud558\ub294 \ub2e8\uacc4\uc785\ub2c8\ub2e4.<\/li>\n\n\n\n<li><code>get_shorts_titles_and_ids<\/code> \ud568\uc218:\n<ul class=\"wp-block-list\">\n<li><code>channel_id<\/code>: \ub2e4\uc6b4\ub85c\ub4dc\ud560 \uc720\ud29c\ube0c \ucc44\ub110\uc758 ID\ub97c \uc9c0\uc815\ud569\ub2c8\ub2e4.<\/li>\n\n\n\n<li><code>max_results<\/code>: \uac00\uc838\uc62c \uc1fc\uce20\uc758 \ucd5c\ub300 \uac1c\uc218\ub97c \uc9c0\uc815\ud569\ub2c8\ub2e4. \uae30\ubcf8\uac12\uc740 100\uac1c\ub85c \uc124\uc815\ub429\ub2c8\ub2e4.<\/li>\n\n\n\n<li><code>next_page_token<\/code>: \uc5ec\ub7ec \ud398\uc774\uc9c0\uc758 \uc1fc\uce20\ub97c \uac00\uc838\uc624\uae30 \uc704\ud574 <code>nextPageToken<\/code>\uc744 \uc0ac\uc6a9\ud569\ub2c8\ub2e4.<\/li>\n\n\n\n<li><code>video_id<\/code>, <code>title<\/code>: \uac01 \uc1fc\uce20 \ub3d9\uc601\uc0c1\uc758 ID\uc640 \uc81c\ubaa9\uc744 \ucd94\ucd9c\ud558\uc5ec \ub9ac\uc2a4\ud2b8\uc5d0 \ucd94\uac00\ud569\ub2c8\ub2e4.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><code>download_shorts<\/code> \ud568\uc218:\n<ul class=\"wp-block-list\">\n<li><code>yt_dlp.YoutubeDL(ydl_opts) as ydl<\/code>: yt-dlp \ub77c\uc774\ube0c\ub7ec\ub9ac\ub85c \uc1fc\uce20 \ub3d9\uc601\uc0c1\uc744 \ub2e4\uc6b4\ub85c\ub4dc\ud569\ub2c8\ub2e4.<\/li>\n\n\n\n<li><code>ydl_opts<\/code> \uc124\uc815: mp4 \ud615\uc2dd\uc73c\ub85c \ub2e4\uc6b4\ub85c\ub4dc\ud558\uace0, <code>outtmpl<\/code>\ub85c \ud30c\uc77c\uba85\uc744 \uc124\uc815\ud569\ub2c8\ub2e4.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774 \ucf54\ub4dc\ub97c \uc2e4\ud589\ud558\uba74 \uc9c0\uc815\ud55c \uc720\ud29c\ube0c \ucc44\ub110\uc5d0\uc11c \uc1fc\uce20\uac00 \uc790\ub3d9\uc73c\ub85c \ub2e4\uc6b4\ub85c\ub4dc\ub429\ub2c8\ub2e4. \ud30c\uc77c\uba85\uc740 \uc1fc\uce20\uc758 \uc81c\ubaa9\uc744 \uae30\uc900\uc73c\ub85c \uc800\uc7a5\ub418\ub2c8, \uc6d0\ud558\ub294 \ub300\ub85c \uc27d\uac8c \ucc3e\uc544\ubcfc \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">4. FAQ \u2013 \uc790\uc8fc \ubb3b\ub294 \uc9c8\ubb38\ub4e4<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code><strong>Q1. \ub3d9\uc601\uc0c1 \ub2e4\uc6b4\ub85c\ub4dc\uac00 \uc548 \ub420 \ub54c \uc5b4\ub5bb\uac8c \ud574\uc57c \ud558\ub098\uc694?<\/strong>\n\n\uba3c\uc800 API_KEY\uc640 channel_id\uac00 \uc62c\ubc14\ub974\uac8c \uc124\uc815\ub418\uc5c8\ub294\uc9c0 \ud655\uc778\ud574 \uc8fc\uc138\uc694. \uadf8\ub9ac\uace0 yt-dlp\uac00 \ucd5c\uc2e0 \ubc84\uc804\uc778\uc9c0 \ud655\uc778\ud558\uace0, \ud544\uc694\ud558\ub2e4\uba74 \ud130\ubbf8\ub110\uc5d0\uc11c pip install --upgrade yt-dlp\ub97c \ud1b5\ud574 \uc5c5\ub370\uc774\ud2b8\ud558\uc138\uc694.\n\n<strong>Q2. \uc720\ud29c\ube0c \uc1fc\uce20\uac00 \uc544\ub2cc \uc77c\ubc18 \ub3d9\uc601\uc0c1\ub3c4 \ub2e4\uc6b4\ub85c\ub4dc\ud560 \uc218 \uc788\ub098\uc694?<\/strong>\n\n\ub124, \uac00\ub2a5\ud569\ub2c8\ub2e4. get_shorts_titles_and_ids \ud568\uc218\uc5d0\uc11c videoDuration='short' \uc635\uc158\uc744 \uc81c\uac70\ud558\uba74 \ucc44\ub110\uc5d0 \uc5c5\ub85c\ub4dc\ub41c \ubaa8\ub4e0 \ub3d9\uc601\uc0c1\uc744 \uac00\uc838\uc640 \ub2e4\uc6b4\ub85c\ub4dc\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.\n\n<strong>Q3. \ud2b9\uc815 \ud574\uc0c1\ub3c4\ub098 \ud654\uc9c8\ub85c\ub9cc \ub2e4\uc6b4\ub85c\ub4dc\ud558\uace0 \uc2f6\uc744 \ub54c\ub294 \uc5b4\ub5bb\uac8c \ud558\ub098\uc694?\n<\/strong>\nydl_opts\uc758 'format' \uc635\uc158\uc744 \uc218\uc815\ud574 \uc6d0\ud558\ub294 \ud574\uc0c1\ub3c4\ub97c \uc9c0\uc815\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc608\ub97c \ub4e4\uc5b4, 'format': 'best&#91;height&lt;=720]'\ucc98\ub7fc \uc124\uc815\ud558\uba74 720p \uc774\ud558 \ud574\uc0c1\ub3c4\ub85c\ub9cc \ub2e4\uc6b4\ub85c\ub4dc\ud569\ub2c8\ub2e4.\n\n<strong>Q4. \ub3d9\uc601\uc0c1 \uc81c\ubaa9 \ub300\uc2e0 \uc0ac\uc6a9\uc790 \uc815\uc758 \ud30c\uc77c\uba85\uc73c\ub85c \uc800\uc7a5\ud560 \uc218 \uc788\ub098\uc694?\n<\/strong>\n\ub124, filename \ubcc0\uc218\ub97c \ubcc0\uacbd\ud558\uc5ec \uc6d0\ud558\ub294 \ud30c\uc77c\uba85\uc73c\ub85c \uc124\uc815\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc608\ub97c \ub4e4\uc5b4, \"{idx}. CustomName.mp4\" \ud615\uc2dd\uc73c\ub85c \ud30c\uc77c\uba85\uc744 \uc9c0\uc815\ud558\uba74 \uc1fc\uce20\ub9c8\ub2e4 \uace0\uc720\uc758 \uc0ac\uc6a9\uc790 \uc815\uc758 \ud30c\uc77c\uba85\uc73c\ub85c \uc800\uc7a5\ub429\ub2c8\ub2e4.\n\n<strong>Q5. \uc5f0\ub839 \uc81c\ud55c\uc774 \uc788\ub294 \ub3d9\uc601\uc0c1\uc740 \uc5b4\ub5bb\uac8c \ub2e4\uc6b4\ub85c\ub4dc\ud558\ub098\uc694?\n<\/strong>\nyt-dlp\ub294 \uc5f0\ub839 \uc81c\ud55c\uc774 \uc788\ub294 \ub3d9\uc601\uc0c1\ub3c4 \ub300\ubd80\ubd84 \uc6b0\ud68c\ud558\uc5ec \ub2e4\uc6b4\ub85c\ub4dc\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uadf8\ub7ec\ub098 \uc77c\ubd80 \uc601\uc0c1\uc740 \ucd94\uac00 \uc778\uc99d\uc774 \ud544\uc694\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc774 \uacbd\uc6b0, yt-dlp\uc758 \ubb38\uc11c\uc5d0\uc11c \uc790\uc138\ud55c \uc124\uc815 \ubc29\ubc95\uc744 \ucc38\uace0\ud558\uc138\uc694.\n\n<strong>Q6. \ud55c\ubc88\uc5d0 \ub354 \ub9ce\uc740 \uc1fc\uce20\ub97c \ub2e4\uc6b4\ub85c\ub4dc\ud558\uace0 \uc2f6\ub2e4\uba74 \uc5b4\ub5bb\uac8c \ud558\ub098\uc694?\n<\/strong>\n\uae30\ubcf8\uc801\uc73c\ub85c max_results \ub9e4\uac1c\ubcc0\uc218\ub97c \uc870\uc815\ud558\uc5ec \uac00\uc838\uc62c \uc1fc\uce20 \uc218\ub97c \ub298\ub9b4 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uadf8\ub7ec\ub098 YouTube API\uc758 \uc694\uccad \uc81c\ud55c\uc744 \uace0\ub824\ud558\uc5ec \ucd5c\ub300 500\uac1c\uae4c\uc9c0 \ub2e4\uc6b4\ub85c\ub4dc\ud558\ub294 \uac83\uc774 \uc88b\uc2b5\ub2c8\ub2e4.\n\n<strong>Q7. \ub2e4\uc6b4\ub85c\ub4dc \uc18d\ub3c4\ub97c \ub192\uc77c \uc218 \uc788\ub294 \ubc29\ubc95\uc774 \uc788\uc744\uae4c\uc694?\n<\/strong>\nyt-dlp\ub294 \uae30\ubcf8\uc801\uc73c\ub85c \ucd5c\uc801\ud654\ub41c \uc18d\ub3c4\ub85c \ub3d9\uc601\uc0c1\uc744 \ub2e4\uc6b4\ub85c\ub4dc\ud558\uc9c0\ub9cc, \ub124\ud2b8\uc6cc\ud06c \ud658\uacbd\uc5d0 \ub530\ub77c \uc18d\ub3c4\uac00 \ub2ec\ub77c\uc9c8 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ub2e4\uc6b4\ub85c\ub4dc \uc18d\ub3c4\uac00 \ub290\ub9b4 \uacbd\uc6b0, \ub2e4\ub978 \ub124\ud2b8\uc6cc\ud06c\ub85c \uc804\ud658\ud558\uac70\ub098 \uc778\ud130\ub137 \uc5f0\uacb0 \uc0c1\ud0dc\ub97c \uc810\uac80\ud574 \ubcf4\uc138\uc694.\n\n<strong>Q8. \uc774 \ucf54\ub4dc\ub85c \uc7ac\uc0dd\ubaa9\ub85d\uc5d0 \uc788\ub294 \ub3d9\uc601\uc0c1\ub3c4 \ub2e4\uc6b4\ub85c\ub4dc\ud560 \uc218 \uc788\ub098\uc694?\n<\/strong>\n\ud604\uc7ac \ucf54\ub4dc\uc5d0\uc11c\ub294 \ud2b9\uc815 \ucc44\ub110\uc758 \uc1fc\uce20\ub9cc \ub2e4\uc6b4\ub85c\ub4dc\ud558\ub3c4\ub85d \uc124\uc815\ub418\uc5b4 \uc788\uc2b5\ub2c8\ub2e4. \uc7ac\uc0dd\ubaa9\ub85d\uc744 \ub2e4\uc6b4\ub85c\ub4dc\ud558\ub824\uba74 channelId \ub300\uc2e0 playlistId\ub97c \uc9c0\uc815\ud558\uace0 yt-dlp\uc758 \uc7ac\uc0dd\ubaa9\ub85d \uc635\uc158\uc744 \ud65c\uc6a9\ud558\uba74 \ub429\ub2c8\ub2e4.\n\n<strong>Q9. \ud30c\uc77c\uc774 \uacb9\uce58\uac70\ub098 \ub36e\uc5b4\uc4f0\uc5ec\uc11c \ub2e4\uc6b4\ub85c\ub4dc\ub420 \uc704\ud5d8\uc774 \uc788\ub098\uc694?\n<\/strong>\n\ucf54\ub4dc\uc5d0\uc11c \uac01 \ub3d9\uc601\uc0c1\uc758 \uace0\uc720 \ubc88\ud638\ub97c \ud30c\uc77c\uba85\uc5d0 \ucd94\uac00\ud558\ubbc0\ub85c \ud30c\uc77c\uc774 \uacb9\uce60 \uac00\ub2a5\uc131\uc740 \uac70\uc758 \uc5c6\uc2b5\ub2c8\ub2e4. \ud558\uc9c0\ub9cc \uc81c\ubaa9\uc774 \ub3d9\uc77c\ud55c \uacbd\uc6b0\uac00 \uc788\uc744 \uc218 \uc788\uc73c\ub2c8, \"{idx}. {sanitized_title}.mp4\" \ud615\uc2dd\ucc98\ub7fc \uace0\uc720 \ubc88\ud638\ub97c \ucd94\uac00\ud558\ub294 \ubc29\uc2dd\uc744 \uc720\uc9c0\ud558\uc138\uc694.\n\n<strong>Q10. \ucf54\ub4dc \uc2e4\ud589 \uc2dc 'Bad Request' \uc624\ub958\uac00 \ubc1c\uc0dd\ud569\ub2c8\ub2e4. \uc774\uc720\uac00 \ubb34\uc5c7\uc778\uac00\uc694?\n<\/strong>\n'Bad Request' \uc624\ub958\ub294 API \uc694\uccad\uc5d0 \ubb38\uc81c\uac00 \uc788\uac70\ub098, YouTube \uce21\uc758 \uc815\ucc45 \ubcc0\uacbd\uc73c\ub85c \uc778\ud574 \ubc1c\uc0dd\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc774 \uacbd\uc6b0 API \uc124\uc815\uc744 \ub2e4\uc2dc \ud655\uc778\ud558\uac70\ub098, yt-dlp\ub97c \uc5c5\ub370\uc774\ud2b8\ud55c \ud6c4 \ub2e4\uc2dc \uc2dc\ub3c4\ud574 \ubcf4\uc138\uc694.<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">#\uc6a9\uc5b4 \ud574\uc124<\/h2>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><strong>YouTube API<\/strong>: YouTube\uc5d0\uc11c \uc81c\uacf5\ud558\ub294 \ud504\ub85c\uadf8\ub798\ubc0d \uc778\ud130\ud398\uc774\uc2a4\ub85c, \uac1c\ubc1c\uc790\uac00 YouTube\uc758 \uae30\ub2a5\uc744 \uc790\uc2e0\uc758 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc5d0 \ud1b5\ud569\ud560 \uc218 \uc788\uac8c \ud574\uc8fc\ub294 \ub3c4\uad6c\uc785\ub2c8\ub2e4[1].<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>yt-dlp<\/strong>: YouTube \ub4f1 \ub2e4\uc591\ud55c \uc6f9\uc0ac\uc774\ud2b8\uc5d0\uc11c \ub3d9\uc601\uc0c1\uc744 \ub2e4\uc6b4\ub85c\ub4dc\ud560 \uc218 \uc788\uac8c \ud574\uc8fc\ub294 \uba85\ub839\uc904 \ud504\ub85c\uadf8\ub7a8\uc785\ub2c8\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Google Cloud Console<\/strong>: Google\uc5d0\uc11c \uc81c\uacf5\ud558\ub294 \uc6f9 \uae30\ubc18 \uc778\ud130\ud398\uc774\uc2a4\ub85c, \uac1c\ubc1c\uc790\uac00 Google Cloud \ud504\ub85c\uc81d\ud2b8\uc640 \ub9ac\uc18c\uc2a4\ub97c \uad00\ub9ac\ud560 \uc218 \uc788\ub294 \ud50c\ub7ab\ud3fc\uc785\ub2c8\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>pip<\/strong>: Python \ud328\ud0a4\uc9c0\ub97c \uc124\uce58\ud558\uace0 \uad00\ub9ac\ud558\ub294 \ub3c4\uad6c\uc785\ub2c8\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>IDE<\/strong>: \ud1b5\ud569 \uac1c\ubc1c \ud658\uacbd(Integrated Development Environment)\uc758 \uc57d\uc790\ub85c, \ucf54\ub4dc \uc791\uc131, \ub514\ubc84\uae45, \uc2e4\ud589 \ub4f1 \uac1c\ubc1c\uc5d0 \ud544\uc694\ud55c \ub3c4\uad6c\ub4e4\uc744 \ud558\ub098\uc758 \ud504\ub85c\uadf8\ub7a8\uc5d0\uc11c \uc81c\uacf5\ud558\ub294 \uc18c\ud504\ud2b8\uc6e8\uc5b4\uc785\ub2c8\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\ucc44\ub110 ID<\/strong>: YouTube\uc5d0\uc11c \uac01 \ucc44\ub110\uc744 \uace0\uc720\ud558\uac8c \uc2dd\ubcc4\ud558\ub294 \ubb38\uc790\uc5f4\uc785\ub2c8\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>API \ud0a4<\/strong>: \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc774 API\ub97c \uc0ac\uc6a9\ud560 \ub54c \uc778\uc99d\uc744 \uc704\ud574 \ud544\uc694\ud55c \uace0\uc720\ud55c \uc2dd\ubcc4\uc790\uc785\ub2c8\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\ud568\uc218<\/strong>: \ud2b9\uc815 \uc791\uc5c5\uc744 \uc218\ud589\ud558\ub294 \ucf54\ub4dc \ube14\ub85d\uc73c\ub85c, \uc7ac\uc0ac\uc6a9\uc774 \uac00\ub2a5\ud558\uace0 \ud504\ub85c\uadf8\ub7a8\uc758 \uad6c\uc870\ub97c \uac1c\uc120\ud558\ub294 \ub370 \ub3c4\uc6c0\uc744 \uc90d\ub2c8\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\uc608\uc678 \ucc98\ub9ac<\/strong>: \ud504\ub85c\uadf8\ub7a8 \uc2e4\ud589 \uc911 \ubc1c\uc0dd\ud560 \uc218 \uc788\ub294 \uc624\ub958\ub97c \uad00\ub9ac\ud558\ub294 \ud504\ub85c\uadf8\ub798\ubc0d \uae30\ubc95\uc785\ub2c8\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\ud574\uc0c1\ub3c4<\/strong>: \ub514\uc2a4\ud50c\ub808\uc774\ub098 \uc774\ubbf8\uc9c0\uc758 \uc120\uba85\ub3c4\ub97c \ub098\ud0c0\ub0b4\ub294 \uc9c0\ud45c\ub85c, \ubcf4\ud1b5 \uac00\ub85cx\uc138\ub85c \ud53d\uc140 \uc218\ub85c \ud45c\ud604\ub429\ub2c8\ub2e4 (\uc608: 1920&#215;1080).<\/p>\n<\/blockquote>\n","protected":false},"excerpt":{"rendered":"<p>\uc694\uc998 \uc720\ud29c\ube0c \uc1fc\uce20, \uc815\ub9d0 \ud56b\ud558\uc8e0? \uc2a4\ud06c\ub864 \ud55c \ubc88\ub9cc \ud558\uba74 \uc2dc\uac04&#8230;<\/p>","protected":false},"author":3,"featured_media":3112,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kad_blocks_custom_css":"","_kad_blocks_head_custom_js":"","_kad_blocks_body_custom_js":"","_kad_blocks_footer_custom_js":"","_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","footnotes":""},"categories":[3],"tags":[348,414,413,415,412,349,410,409,411,33],"class_list":["post-3103","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-python-coding","tag-youtube-api","tag-yt-dlp","tag-413","tag-415","tag-412","tag-349","tag-410","tag-409","tag-411","tag-33"],"taxonomy_info":{"category":[{"value":3,"label":"\ud30c\uc774\uc36c(Python)"}],"post_tag":[{"value":348,"label":"YouTube API"},{"value":414,"label":"yt-dlp"},{"value":413,"label":"\ub3d9\uc601\uc0c1 \ub2e4\uc6b4\ub85c\ub4dc"},{"value":415,"label":"\uc1fc\uce20 \uc800\uc7a5"},{"value":412,"label":"\uc720\ud29c\ube0c \ub2e4\uc6b4\ub85c\ub4dc"},{"value":349,"label":"\uc720\ud29c\ube0c \uc1fc\uce20"},{"value":410,"label":"\uc720\ud29c\ube0c \uc601\uc0c1 \uc800\uc7a5"},{"value":409,"label":"\uc790\ub3d9 \ub2e4\uc6b4\ub85c\ub4dc"},{"value":411,"label":"\ucf54\ub529 \ud29c\ud1a0\ub9ac\uc5bc"},{"value":33,"label":"\ud30c\uc774\uc36c"}]},"featured_image_src_large":["https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/11\/\uc720\ud29c\ube0c-\uc1fc\uce20-\uc790\ub3d9-\ub2e4\uc6b4\ub85c\ub4dc-600x600.jpg",600,600,true],"author_info":{"display_name":"TERE","author_link":"https:\/\/secondlife.lol\/ja\/author\/tere\/"},"comment_info":0,"category_info":[{"term_id":3,"name":"\ud30c\uc774\uc36c(Python)","slug":"python-coding","term_group":0,"term_taxonomy_id":3,"taxonomy":"category","description":"","parent":20,"count":119,"filter":"raw","cat_ID":3,"category_count":119,"category_description":"","cat_name":"\ud30c\uc774\uc36c(Python)","category_nicename":"python-coding","category_parent":20}],"tag_info":[{"term_id":348,"name":"YouTube API","slug":"youtube-api","term_group":0,"term_taxonomy_id":347,"taxonomy":"post_tag","description":"","parent":0,"count":2,"filter":"raw"},{"term_id":414,"name":"yt-dlp","slug":"yt-dlp","term_group":0,"term_taxonomy_id":414,"taxonomy":"post_tag","description":"","parent":0,"count":1,"filter":"raw"},{"term_id":413,"name":"\ub3d9\uc601\uc0c1 \ub2e4\uc6b4\ub85c\ub4dc","slug":"%eb%8f%99%ec%98%81%ec%83%81-%eb%8b%a4%ec%9a%b4%eb%a1%9c%eb%93%9c","term_group":0,"term_taxonomy_id":413,"taxonomy":"post_tag","description":"","parent":0,"count":1,"filter":"raw"},{"term_id":415,"name":"\uc1fc\uce20 \uc800\uc7a5","slug":"%ec%87%bc%ec%b8%a0-%ec%a0%80%ec%9e%a5","term_group":0,"term_taxonomy_id":415,"taxonomy":"post_tag","description":"","parent":0,"count":1,"filter":"raw"},{"term_id":412,"name":"\uc720\ud29c\ube0c \ub2e4\uc6b4\ub85c\ub4dc","slug":"%ec%9c%a0%ed%8a%9c%eb%b8%8c-%eb%8b%a4%ec%9a%b4%eb%a1%9c%eb%93%9c","term_group":0,"term_taxonomy_id":411,"taxonomy":"post_tag","description":"","parent":0,"count":1,"filter":"raw"},{"term_id":349,"name":"\uc720\ud29c\ube0c \uc1fc\uce20","slug":"%ec%9c%a0%ed%8a%9c%eb%b8%8c-%ec%87%bc%ec%b8%a0","term_group":0,"term_taxonomy_id":349,"taxonomy":"post_tag","description":"","parent":0,"count":2,"filter":"raw"},{"term_id":410,"name":"\uc720\ud29c\ube0c \uc601\uc0c1 \uc800\uc7a5","slug":"%ec%9c%a0%ed%8a%9c%eb%b8%8c-%ec%98%81%ec%83%81-%ec%a0%80%ec%9e%a5","term_group":0,"term_taxonomy_id":410,"taxonomy":"post_tag","description":"","parent":0,"count":1,"filter":"raw"},{"term_id":409,"name":"\uc790\ub3d9 \ub2e4\uc6b4\ub85c\ub4dc","slug":"%ec%9e%90%eb%8f%99-%eb%8b%a4%ec%9a%b4%eb%a1%9c%eb%93%9c","term_group":0,"term_taxonomy_id":409,"taxonomy":"post_tag","description":"","parent":0,"count":1,"filter":"raw"},{"term_id":411,"name":"\ucf54\ub529 \ud29c\ud1a0\ub9ac\uc5bc","slug":"%ec%bd%94%eb%94%a9-%ed%8a%9c%ed%86%a0%eb%a6%ac%ec%96%bc","term_group":0,"term_taxonomy_id":412,"taxonomy":"post_tag","description":"","parent":0,"count":3,"filter":"raw"},{"term_id":33,"name":"\ud30c\uc774\uc36c","slug":"%ed%8c%8c%ec%9d%b4%ec%8d%ac","term_group":0,"term_taxonomy_id":33,"taxonomy":"post_tag","description":"","parent":0,"count":30,"filter":"raw"}],"_links":{"self":[{"href":"https:\/\/secondlife.lol\/ja\/wp-json\/wp\/v2\/posts\/3103","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/secondlife.lol\/ja\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/secondlife.lol\/ja\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/secondlife.lol\/ja\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/secondlife.lol\/ja\/wp-json\/wp\/v2\/comments?post=3103"}],"version-history":[{"count":13,"href":"https:\/\/secondlife.lol\/ja\/wp-json\/wp\/v2\/posts\/3103\/revisions"}],"predecessor-version":[{"id":3638,"href":"https:\/\/secondlife.lol\/ja\/wp-json\/wp\/v2\/posts\/3103\/revisions\/3638"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/secondlife.lol\/ja\/wp-json\/wp\/v2\/media\/3112"}],"wp:attachment":[{"href":"https:\/\/secondlife.lol\/ja\/wp-json\/wp\/v2\/media?parent=3103"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/secondlife.lol\/ja\/wp-json\/wp\/v2\/categories?post=3103"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/secondlife.lol\/ja\/wp-json\/wp\/v2\/tags?post=3103"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}