{"id":8349,"date":"2025-04-03T11:09:50","date_gmt":"2025-04-03T02:09:50","guid":{"rendered":"https:\/\/www.nkozawa.com\/blog\/?p=8349"},"modified":"2025-04-03T11:09:50","modified_gmt":"2025-04-03T02:09:50","slug":"wtw%e5%9b%9b%e5%9b%bd%e3%81%ae%e3%83%89%e3%83%ad%e3%83%bc%e3%83%b3%e3%83%ac%e3%83%bc%e3%82%b9%e9%9b%86%e8%a8%88%e3%82%b7%e3%82%b9%e3%83%86%e3%83%a0%e5%ae%9f%e8%a3%85%e4%be%8b","status":"publish","type":"post","link":"https:\/\/www.nkozawa.com\/blog\/archives\/8349","title":{"rendered":"WTW\u56db\u56fd\u306e\u30c9\u30ed\u30fc\u30f3\u30ec\u30fc\u30b9\u96c6\u8a08\u30b7\u30b9\u30c6\u30e0\u5b9f\u88c5\u4f8b"},"content":{"rendered":"<p>\u6628\u5e74\u306eNaka Drone Racing 2024\u4ee5\u6765\u80b2\u3066\u3066\u304d\u305fGoogle Sheet\u306b\u3088\u308b\u30ec\u30fc\u30b9\u96c6\u8a08\u30b7\u30b9\u30c6\u30e0\u3092\u7d39\u4ecb\u3057\u307e\u3059\u3002\u307e\u3060\u307e\u3060\u672a\u5b8c\u6210\u3067\u3059\u304c\u3001\u3044\u304f\u3064\u304b\u306e\u30ec\u30fc\u30b9\u3092\u7d4c\u3066\u5f79\u306b\u7acb\u3064\u3082\u306e\u306b\u306a\u308a\u3064\u3064\u3042\u308a\u307e\u3059\u3002\u307e\u305fTinyViewPlus v0.9.33 beta6\u306e\u901a\u77e5\u6a5f\u80fd\u3092\u5229\u7528\u3057\u30ea\u30a2\u30eb\u30bf\u30a4\u30e0\u306a\u66f4\u65b0\u3082\u53ef\u80fd\u3068\u306a\u308a\u307e\u3057\u305f\u3002<\/p>\n<p>\u305d\u306e\u6982\u8981\u3068\u30d7\u30ed\u30b0\u30e9\u30e0\u5168\u3066\u3092\u516c\u958b\u3044\u305f\u3057\u307e\u3059\u3002\u4f7f\u3044\u65b9\u3084\u7d30\u304b\u3044\u52d5\u4f5c\u307e\u3067\u306f\u8aac\u660e\u3057\u304d\u308c\u306a\u3044\u306e\u3067\u3001\u52dd\u624b\u306b\u53c2\u8003\u306b\u3057\u3066\u3082\u3089\u3063\u305f\u308a\u3001\u4f7f\u3048\u308b\u90e8\u5206\u306f\u518d\u5229\u7528\u3092\u3057\u3066\u304f\u3060\u3055\u3044\u3002\u3068\u3044\u3046\u653e\u4efb\u4e3b\u7fa9\u3067\u3059\u3001\u60aa\u3057\u304b\u3089\u305a\u3002<\/p>\n<p><strong>[ \u30b7\u30b9\u30c6\u30e0\u306e\u6982\u8981 ]<\/strong><br \/>\nWTW Tokushima\u306e\u30c9\u30ed\u30fc\u30f3\u90e8\u9577\u306b\u3088\u308b\u5834\u5185PA\u304a\u3088\u3073\u914d\u4fe1\u30b7\u30b9\u30c6\u30e0\u306e\u4e00\u90e8\u3067\u3042\u308bTinyViewPlus\u3068\u96c6\u8a08\u64cd\u4f5c\u7528\u306eMacBook Air\u3092\u9023\u643a\u3057\u3066\u884c\u3044\u307e\u3059\u3002<\/p>\n<div id=\"attachment_8353\" style=\"width: 310px\" class=\"wp-caption alignnone\"><a href=\"http:\/\/www.nkozawa.com\/blog\/wp-content\/uploads\/2c6062e3a848042ec6a3820dd3283f3d.webp\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-8353\" src=\"http:\/\/www.nkozawa.com\/blog\/wp-content\/uploads\/2c6062e3a848042ec6a3820dd3283f3d-300x300.webp\" alt=\"\" width=\"300\" height=\"300\" class=\"wp-image-8353 size-medium\" srcset=\"https:\/\/www.nkozawa.com\/blog\/wp-content\/uploads\/2c6062e3a848042ec6a3820dd3283f3d-300x300.webp 300w, https:\/\/www.nkozawa.com\/blog\/wp-content\/uploads\/2c6062e3a848042ec6a3820dd3283f3d-150x150.webp 150w, https:\/\/www.nkozawa.com\/blog\/wp-content\/uploads\/2c6062e3a848042ec6a3820dd3283f3d-768x768.webp 768w, https:\/\/www.nkozawa.com\/blog\/wp-content\/uploads\/2c6062e3a848042ec6a3820dd3283f3d-144x144.webp 144w, https:\/\/www.nkozawa.com\/blog\/wp-content\/uploads\/2c6062e3a848042ec6a3820dd3283f3d.webp 1024w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><p id=\"caption-attachment-8353\" class=\"wp-caption-text\">\u6d41\u884c\u3063\u3066\u3044\u308b\u306e\u3067ChatGPT\u306b\u66f8\u3044\u3066\u3082\u3089\u3063\u305f\u7d75\u3067\u3059\u3002\u4f55\u3068\u306a\u304f\u306a\u611f\u3058\u3067\u3042\u307e\u308a\u6b63\u78ba\u306b\u30b7\u30b9\u30c6\u30e0\u3092\u8868\u73fe\u3057\u3066\u3044\u308b\u3068\u306f\u8a00\u3048\u307e\u305b\u3093\u3002<\/p><\/div>\n<p><strong>[ oscrcv.py ]<\/strong><br \/>\noscrcv.py\u30b9\u30af\u30ea\u30d7\u30c8\u306fTinyViewPlus\u304b\u3089\u306eOSC\u30d7\u30ed\u30c8\u30b3\u30eb\u306b\u3088\u308b\u901a\u77e5\u3067\u53d7\u4fe1\u3057\u305f\u30c7\u30fc\u30bf\u3092Google Sheet\u306bPOST\u3057\u307e\u3059\u3002\u30c7\u30fc\u30bf\u306e\u53d7\u4fe1\u3092\u78ba\u5b9f\u306b\u3059\u308b\u305f\u3081\u306boscrcv.py\u306fTinyViewPlus\u304c\u7a3c\u50cd\u3057\u3066\u3044\u308bWindows PC\u4e0a\u3067\u7a3c\u50cd\u3059\u308b\u3088\u3046\u306b\u3057\u3066\u3044\u307e\u3059\u3002\u307e\u305f\u4e88\u9078\u3001\u6c7a\u52dd\u306a\u3069\u306e\u30ec\u30fc\u30b9\u6bce(\u3042\u308b\u3044\u306fGoogle Sheet\u306e\u5207\u308a\u66ff\u3048)\u306boscrcv.py\u306e\u8d77\u52d5\u30d1\u30e9\u30e1\u30fc\u30bf\u3092\u6307\u5b9a\u3057\u3066\u7acb\u3061\u4e0a\u3052\u76f4\u3059\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u306e\u3067\u3001MacBook Air\u304b\u3089ssh\u3067TinyViewPlus\u306ePC\u306b\u30ed\u30b0\u30a4\u30f3\u3057\u3066\u884c\u306a\u3063\u3066\u3044\u307e\u3059\u3002<\/p>\n<div>\n<div class=\"hcb_wrap\">\n<pre class=\"prism line-numbers lang-python\" data-lang=\"Python\"><code># oscrcv.py\r\nimport argparse\r\nimport math\r\nfrom pythonosc import dispatcher\r\nfrom pythonosc import osc_server\r\nimport json\r\nimport requests\r\nimport time\r\nimport datetime\r\n\r\nurl = \"\"\r\nurl1 = \"https:\/\/script.google.com\/macros\/s\/AKfycbzDg0hHdgDlE_qYEngvYBBqYDummyssJ_sA_fmstVcXgyyx-KMem32_lbSoC8gdAhgg\/exec\"\r\nurl2 = \"https:\/\/script.google.com\/macros\/s\/AKfycbw7_T9Z4eWVWbybGm2IhXsazDummyRVwOjrQ_OcuowXC2yV-onDk0ppOxefZdZNQHQh\/exec\"\r\n\r\nsheetname = \"\"\r\nsh1 = \"\u7df4\u7fd2\"\r\nsh2 = \"\u4e88\u9078\u30d2\u30fc\u30c81,2\"\r\nsh3 = \"\u4e88\u9078\u30d2\u30fc\u30c83,4\"\r\nsh4 = \"\u52dd\u3061\u4e0a\u304c\u308a\u6226\u5165\u529b\"\r\n\r\ndef timeformat(seconds):\r\n    td = datetime.timedelta(seconds=seconds)\r\n    minutes, seconds = divmod(td.total_seconds(), 60)\r\n    return f\"{int(minutes):02d}:{seconds:05.2f}\"\r\n\r\ndef oschandle(addr, *args):\r\n    global url\r\n    global sheetname\r\n    print(addr)\r\n    print(args[0])\r\n    print(\"\")\r\n    timestamp = time.strftime('%Y\/%m\/%d %H:%M:%S')\r\n\r\n    args3 = args4 = \"\"\r\n    if (len(args) &gt; 3):\r\n        if (isinstance(args[3], float)):\r\n            args3 =  \"{:05.2f}\".format(args[3])\r\n        else:\r\n            args3 =  args[3]\r\n    if (len(args) &gt; 4):\r\n        if (isinstance(args[4], float)):\r\n            args4 =  timeformat(args[4])\r\n        else:\r\n            args4 =  args[4]\r\n\r\n    data = {\r\n        \"timestamp\" : timestamp,\r\n\t    \"addr\" : addr,\r\n\t    \"arg0\" : args[0],\r\n        \"arg1\" : args[1] if (len(args) &gt; 1) else \"\",\r\n        \"arg2\" : args[2] if (len(args) &gt; 2) else \"\",\r\n        \"arg3\" : args3,\r\n        \"arg4\" : args4,\r\n        \"sheetName\" : sheetname\r\n    }\r\n\r\n    print(json.dumps(data))\r\n    # json.dump\u3067\u30c7\u30fc\u30bf\u3092JSON\u5f62\u5f0f\u3068\u3057\u3066\u6271\u3046\r\n    r = requests.post(url, data=json.dumps(data))\r\n    print(r)\r\n\r\nif __name__ == \"__main__\":\r\n    parser = argparse.ArgumentParser()\r\n    parser.add_argument(\"--ip\",\r\n                        default=\"\", help=\"The ip to listen on\")\r\n    parser.add_argument(\"--port\",\r\n                        type=int, default=4001, help=\"The port to listen on\")\r\n    parser.add_argument(\"--url\",\r\n                        default=\"1\", help=\"1 = Sprint, 2 = Endurance\")\r\n    parser.add_argument(\"--sheet\",\r\n                        default=\"1\", help=\"1 = \u7df4\u7fd2, 2 = \u4e88\u9078\u30d2\u30fc\u30c81,2, 3 = \u4e88\u9078\u30d2\u30fc\u30c83,4, 4 = \u52dd\u3061\u4e0a\u304c\u308a\u6226\u5165\u529b\")\r\n    args = parser.parse_args()\r\n\r\n    if (args.url == \"1\"):\r\n        url = url1\r\n    else:\r\n        url = url2\r\n\r\n    if (args.sheet == \"1\"):\r\n        sheetname = sh1\r\n    elif (args.sheet == \"2\"):\r\n        sheetname = sh2\r\n    elif (args.sheet == \"3\"):\r\n        sheetname = sh3\r\n    else:\r\n        sheetname = sh4\r\n\r\n    print(\"URL: \", args.url)\r\n    print(\"Sheetname: \", sheetname)\r\n\r\n    dispatcher = dispatcher.Dispatcher()\r\n    dispatcher.map(\"\/*\", oschandle)\r\n\r\n    server = osc_server.ThreadingOSCUDPServer(\r\n        (args.ip, args.port), dispatcher)\r\n    print(\"Serving on {}\".format(server.server_address))\r\n    server.serve_forever()\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<p><strong>[ Google Sheet\u3067\u306e\u51e6\u7406 ]<\/strong><br \/>\noscrcv.py\u304b\u3089\u306ePOST\u306fGAS\u3067\u53d7\u4fe1\u3057\u307e\u3059\u3002\u9001\u3089\u308c\u3066\u304f\u308b\u30c7\u30fc\u30bf\u306f2\u7a2e\u985e\u3042\u308a\u307e\u3059\u3001\u4e00\u3064\u306fLap\u30c7\u30fc\u30bf\u3067\u30ea\u30a2\u30eb\u30bf\u30a4\u30e0\u306a\u30ec\u30fc\u30b9\u72b6\u6cc1\u306e\u66f4\u65b0\u306b\u4f7f\u3044\u307e\u3059\u3002<\/p>\n<blockquote class=\"twitter-tweet\" data-media-max-width=\"560\">\n<p lang=\"ja\" dir=\"ltr\">TinyViewPlus v0.9.33 beta5\u3067\u30e9\u30c3\u30d7\u306e\u524a\u9664\u3082\u901a\u77e5\u3055\u308c\u308b\u3088\u3046\u306b\u306a\u3063\u305f\u306e\u3067\u30c6\u30b9\u30c8\u3002 <a href=\"https:\/\/t.co\/DRfXIqs2Lr\">pic.twitter.com\/DRfXIqs2Lr<\/a><\/p>\n<p>&mdash; \u30b3\u30b6\u30c3\u30af KozakFPV \u7a7a\u306e\u81ea\u7531\u4eba (@nkozawa) <a href=\"https:\/\/twitter.com\/nkozawa\/status\/1892514042759053772?ref_src=twsrc%5Etfw\">February 20, 2025<\/a><\/p><\/blockquote>\n<p> <script async src=\"https:\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script><\/p>\n<p>\u3082\u3046\u4e00\u3064\u306f\u30ec\u30fc\u30b9\u7d50\u679c\u3067\u3001\u30ec\u30fc\u30b9\u306e\u96c6\u8a08\u306b\u4f7f\u3044\u307e\u3059\u3002<\/p>\n<blockquote class=\"twitter-tweet\" data-media-max-width=\"560\">\n<p lang=\"ja\" dir=\"ltr\">TinyViewPlus \u304c\u30ec\u30fc\u30b9\u7d50\u679c\u3092\u9001\u4fe1\u3057\u3066\u304f\u308c\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3057\u305f\u3002UDP\u306a\u306e\u3067\u53d6\u308a\u3053\u307c\u3057\u3082\u8003\u616e\u3057\u3066\u3001\u5f93\u6765\u901a\u308a\u7d50\u679c\u30d5\u30a1\u30a4\u30eb\u3092\u898b\u308b\u304b\u30af\u30ea\u30c3\u30d7\u30dc\u30fc\u30c9\u3092\u898b\u308b\u6e96\u5099\u3082\u5fc5\u8981\u3002 <a href=\"https:\/\/t.co\/PxdglMhXl3\">pic.twitter.com\/PxdglMhXl3<\/a><\/p>\n<p>&mdash; \u30b3\u30b6\u30c3\u30af KozakFPV \u7a7a\u306e\u81ea\u7531\u4eba (@nkozawa) <a href=\"https:\/\/twitter.com\/nkozawa\/status\/1896022567972180009?ref_src=twsrc%5Etfw\">March 2, 2025<\/a><\/p><\/blockquote>\n<p> <script async src=\"https:\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script><\/p>\n<p>\u96c6\u8a08\u4f5c\u696d\u306f\u7d50\u679c\u5165\u529b\u30b7\u30fc\u30c8\u306b\u30c7\u30fc\u30bf\u3092\u96c6\u7a4d\u3057\u96c6\u8a08\u30d7\u30ed\u30b0\u30e9\u30e0\u30b7\u30fc\u30c8\u306b\u3042\u308b\u30dc\u30bf\u30f3\u304b\u3089GAS\u3092\u8d77\u52d5\u3057\u3066\u9806\u4f4d\u3092\u5225\u306e\u30b7\u30fc\u30c8\u306b\u8a18\u5165\u3057\u307e\u3059\u3002\u8a73\u7d30\u306f\u66f8\u304d\u307e\u305b\u3093\u304c\u3001\u52dd\u3061\u4e0a\u304c\u308a\u6226\u306e\u7d44\u307f\u5408\u308f\u305b\u307e\u3067\u306f\u81ea\u52d5\u3067\u884c\u3044\u307e\u3059\u3002\u52dd\u3061\u4e0a\u304c\u308a\u6226\u306e\u96c6\u8a08\u4ee5\u964d\u306f\u624b\u4f5c\u696d\u3067\u884c\u306a\u3063\u3066\u3044\u307e\u3059\u3002<br \/>\n\u4e88\u9078\u306e\u9806\u4f4d\u306f\u5468\u56de\u6570\u304c\u591a\u3044\u65b9\u3092\u4e0a\u4f4d\u3068\u3057\u307e\u3059\u3002\u540c\u4e00\u5468\u56de\u6570\u306e\u5834\u5408\u306f\u5408\u8a08\u6642\u9593\u304c\u77ed\u3044\u65b9\u304c\u4e0a\u4f4d\u3068\u306a\u308a\u307e\u3059\u3002\u5168\u304f\u540c\u3058\u6210\u7e3e\u3067\u3042\u3063\u305f\u5834\u5408\u306e\u51e6\u7406\u306f\u5165\u3063\u3066\u3044\u307e\u305b\u3093\u306e\u3067\u30c7\u30fc\u30bf\u306e\u76ee\u8996\u78ba\u8a8d\u304c\u5fc5\u8981\u3068\u306a\u308a\u307e\u3059\u3002<\/p>\n<p><a href=\"https:\/\/docs.google.com\/spreadsheets\/d\/10cipn3tK-E1KjqUOWe1QlF8hfAH5MtMBMzmCFrIghMA\/edit?gid=594047465#gid=594047465\">WTWShikokuDroneRaceWorksheet<\/a><br \/>\n\u3053\u306e\u30ef\u30fc\u30af\u30b7\u30fc\u30c8\u306fRead Only\u3067\u5171\u7528\u3057\u3066\u3044\u307e\u3059\u3002\u3054\u81ea\u8eab\u306eGoogl Drive\u306b\u30b3\u30d4\u30fc\u3059\u308b\u3068GAS\u306e\u5185\u5bb9\u3082\u8aad\u3081\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n<p>TinyViewPlus->Python Script->Google Sheet\u3078\u306e\u9023\u643a\u306e\u8a73\u7d30\u306f\u5225\u8a18\u4e8b\u300c<a href=\"https:\/\/www.nkozawa.com\/blog\/archives\/8299\">Tiny View Plus\u306e\u5916\u90e8\u901a\u77e5\u6a5f\u80fd\u3092\u8a66\u3059<\/a>\u300d\u306b\u66f8\u3044\u3066\u3044\u307e\u3059\u306e\u3067\u53c2\u7167\u9858\u3044\u307e\u3059\u3002<\/p>\n<p><strong>[ \u30c7\u30a3\u30b9\u30af\u5171\u7528 ]<\/strong><br \/>\nOSC\u306e\u30c7\u30fc\u30bf\u306b\u3088\u308b\u96c6\u8a08\u306b\u554f\u984c\u304c\u3042\u3063\u305f\u6642\u306e\u305f\u3081\u306bTinyViewPlus\u306eResult\u30d5\u30a9\u30eb\u30c0\u30fc\u3092MacBook Air\u304b\u3089\u30a2\u30af\u30bb\u30b9\u3067\u304d\u308b\u3088\u3046\u306b\u5171\u7528\u3057\u3066\u3044\u307e\u3059\u3002Google Sheet\u306eGAS\u306f\u96c6\u8a08\u30c7\u30fc\u30bf\u306e\u30d5\u30a1\u30a4\u30eb\u304b\u3089\u306e\u8aad\u307f\u8fbc\u307f\u306b\u3082\u5bfe\u5fdc\u3057\u3066\u3044\u307e\u3059\u3002\u3053\u306e\u90e8\u5206\u306f<a href=\"https:\/\/x.com\/masaaki_oyama\">ninjaMoonLight<\/a>\u3055\u3093\u304c\u66f8\u304b\u308c\u305f\u3082\u306e\u3067\u3059\u3002<\/p>\n<p><strong>[ TinyView Plus\u306e\u30d0\u30a4\u30ed\u30c3\u30c8\u540d ]<\/strong><br \/>\n\u96c6\u8a08\u4f5c\u696d\u3068\u306f\u5225\u3067\u3059\u304cWindows\u4e0a\u306eTinyView Plus\u306e\u30ab\u30e1\u30e9\u30e9\u30d9\u30eb(\u30d1\u30a4\u30ed\u30c3\u30c8\u540d)\u306e\u30bb\u30c3\u30c8\u3082MacBook Air\u304b\u3089\u884c\u306a\u3063\u3066\u3044\u307e\u3059\u3002\u4f7f\u7528\u3057\u3066\u3044\u308b\u30d7\u30ed\u30b0\u30e9\u30e0\u306fGithub\u306b\u3066\u516c\u958b\u3057\u3066\u3044\u307e\u3059\u3002<br \/>\n<a href=\"https:\/\/github.com\/nkozawa\/tvpilotnames\">https:\/\/github.com\/nkozawa\/tvpilotnames<\/a><\/p>\n<p>\u4ee5\u4e0a\u3067\u3059\u3002\u307e\u3060\u5b8c\u5168\u81ea\u52d5\u3068\u306f\u8a00\u3048\u307e\u305b\u3093\u304c\u3001\u305d\u3053\u305d\u3053\u5f79\u306b\u7acb\u3064\u3082\u306e\u306b\u306a\u308a\u307e\u3057\u305f\u3002\u307e\u305f\u9032\u6b69\u304c\u3042\u308c\u3070\u4f55\u304b\u306e\u5f62\u3067\u516c\u958b\u3057\u305f\u3044\u3068\u601d\u3044\u307e\u3059\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u6628\u5e74\u306eNaka Drone Racing 2024\u4ee5\u6765\u80b2\u3066\u3066\u304d\u305fGoogle Sheet\u306b\u3088\u308b\u30ec\u30fc\u30b9\u96c6\u8a08\u30b7\u30b9\u30c6\u30e0\u3092\u7d39\u4ecb\u3057\u307e\u3059\u3002\u307e\u3060\u307e\u3060\u672a\u5b8c\u6210\u3067\u3059\u304c\u3001\u3044\u304f\u3064\u304b\u306e\u30ec\u30fc\u30b9\u3092\u7d4c\u3066\u5f79\u306b\u7acb\u3064\u3082\u306e\u306b\u306a\u308a\u3064\u3064\u3042\u308a\u307e\u3059\u3002\u307e\u305fTinyVie [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"footnotes":""},"categories":[38,27],"tags":[],"class_list":["post-8349","post","type-post","status-publish","format-standard","hentry","category-quadcopter","category-programing"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.nkozawa.com\/blog\/wp-json\/wp\/v2\/posts\/8349","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.nkozawa.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.nkozawa.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.nkozawa.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.nkozawa.com\/blog\/wp-json\/wp\/v2\/comments?post=8349"}],"version-history":[{"count":17,"href":"https:\/\/www.nkozawa.com\/blog\/wp-json\/wp\/v2\/posts\/8349\/revisions"}],"predecessor-version":[{"id":8368,"href":"https:\/\/www.nkozawa.com\/blog\/wp-json\/wp\/v2\/posts\/8349\/revisions\/8368"}],"wp:attachment":[{"href":"https:\/\/www.nkozawa.com\/blog\/wp-json\/wp\/v2\/media?parent=8349"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.nkozawa.com\/blog\/wp-json\/wp\/v2\/categories?post=8349"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.nkozawa.com\/blog\/wp-json\/wp\/v2\/tags?post=8349"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}