{"id":5995,"date":"2024-06-14T14:44:35","date_gmt":"2024-06-14T06:44:35","guid":{"rendered":"https:\/\/blog.hoyo.idv.tw\/?p=5995"},"modified":"2024-06-15T10:19:23","modified_gmt":"2024-06-15T02:19:23","slug":"line-line-%e7%99%bb%e5%85%a5","status":"publish","type":"post","link":"https:\/\/blog.hoyo.idv.tw\/?p=5995","title":{"rendered":"LINE - LINE \u767b\u5165"},"content":{"rendered":"<h2>\u53c3\u8003\u8cc7\u8a0a<\/h2>\n<ul>\n<li><a href=\"https:\/\/developers.line.biz\/en\/docs\/line-login\/integrate-line-login\/\" target=\"_blank\" rel=\"noopener\">Integrating LINE Login with your web app | LINE Developers<\/a><\/li>\n<li><a href=\"https:\/\/developers.line.biz\/en\/reference\/line-login\/\" target=\"_blank\" rel=\"noopener\">LINE Login v2.1 API reference | LINE Developers<\/a><\/li>\n<\/ul>\n<p>--<\/p>\n<h2>\u6d41\u7a0b\u4e00\uff1a\u5230\u958b\u767c\u8005\u5f8c\u53f0\u5efa\u7acb LINE \u767b\u5165\u7684 App channel<\/h2>\n<ol>\n<li>\u767b\u5165 <a href=\"https:\/\/developers.line.biz\" target=\"_blank\" rel=\"noopener\">LINE Developers<\/a><\/li>\n<li>\u5efa\u7acb\u6216\u9078\u64c7\u00a0Provider<\/li>\n<li>\u9ede\u9078\u300cCreate new channel\u300d \u2192 \u9078\u64c7\u300cLINE Login\u300d \u2192 \u586b\u5beb\u8cc7\u6599<\/li>\n<li>\u5207\u63db\u300cApp settings\u300d\u5206\u9801\uff0c\u8f38\u5165 Callback URL \u5fc5\u9808\u662f https:\/\/<\/li>\n<\/ol>\n<p>--<\/p>\n<h2>\u6d41\u7a0b\u4e8c\uff1a\u4f7f\u7528\u7a0b\u5f0f\u53d6\u5f97\u767b\u5165\u5f8c\u7684 LINE \u4f7f\u7528\u8005 id<\/h2>\n<p>\u6b65\u9a5f<\/p>\n<ol>\n<li>\u4f7f\u7528 https:\/\/access.line.me\/oauth2\/v2.1\/authorize \u53d6\u5f97 code\uff0c\u53d6\u5f97\u7684\u65b9\u5f0f\u662f\u5f8c\u53f0\u8a2d\u5b9a\u7684 <strong>Callback URL<\/strong><\/li>\n<li>\u5c07\u53d6\u5f97\u7684 code \u4e1f\u7d66 https:\/\/api.line.me\/oauth2\/v2.1\/token \u4f86\u63db access_token<\/li>\n<li>\u5c07 access_token \u4e1f\u7d66 https:\/\/api.line.me\/v2\/profile \u4f86\u53d6\u5f97\u4f7f\u7528\u8005\u8cc7\u6599<\/li>\n<\/ol>\n<p><strong>\u7bc4\u4f8b\uff1a<\/strong><\/p>\n<p>\u767c\u9001\u4ee5\u4e0b\u7db2\u5740<\/p>\n<pre class=\"lang:default decode:true\">https:\/\/access.line.me\/oauth2\/v2.1\/authorize?response_type=code&amp;client_id=2009999994&amp;redirect_uri=https:\/\/upad12.com\/LineLoginCallback&amp;state=xxxxxxx&amp;scope=profile%20openid<\/pre>\n<p>\u9806\u5229\u7684\u8a71\u5728\u5f8c\u53f0\u8a2d\u5b9a\u7684 Callback URL \u5c31\u6703\u5f97\u5230\u985e\u4f3c<\/p>\n<pre class=\"lang:default decode:true\">https:\/\/upad12.com\/LineLoginCallback?code=r2ySgfyxxxxxxwArlEL&amp;state=xxxxxxx<\/pre>\n<p>\u81ea\u5df1\u5beb\u7a0b\u5f0f\u53bb\u6488 code \u8b8a\u6578\uff0c\u5c07 code \u4e1f\u7d66 token<\/p>\n<pre class=\"lang:default decode:true\">curl -X POST https:\/\/api.line.me\/oauth2\/v2.1\/token -H 'Content-Type: application\/x-www-form-urlencoded' -d 'grant_type=authorization_code' -d 'code=r2ySgfyxxxxxxwArlEL' -d 'redirect_uri=https:\/\/upad12.com\/LineLoginCallback' -d 'client_id=2009999994' -d 'client_secret=3c3208e66666666666edc1211c0051b6'<\/pre>\n<p>\u9806\u5229\u7684\u8a71\u53ef\u4ee5\u5f97\u5230\u985e\u4f3c<\/p>\n<pre class=\"lang:default decode:true\">{\"access_token\":\"eyJhbGciOiJIUzI1NiJ9.GBSwhR_IGb9-jbzZni8ixxxxxxxxxHPHAU_pw3R4U07ITuI_HGOjjy4gAzJIxxxxxxxESciryN6G3sI_dPawXUC0uM9e8wBTs6xEKxw-4P1x22ibNmKG5OuCLcM2INgQAk5tuLwhrK5ZkxWPI.G2pC3NbgGPkE21cxgUhSxiry936a29zFJnA1KEQj3xA\",\"token_type\":\"Bearer\",\"refresh_token\":\"07tPqcV5CND6YGq\",\"expires_in\":2592000,\"scope\":\"profile openid\",\"id_token\":\"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwczovL2FjY2Vzcy5saW5lLm1lIiwic3ViIjoiVTA1YzVlZDNkNGRlYTljNDI5Y2MyMzBjMGM2M2E5NzZmIiwiYXVkIjoiMjAwNTYxMTc5NCIsImV4cCI6MTcxONzE4MjY3NzUzLCJhbXIiOlsibGluZXNzbyJdLCJuYW1lIjoiaG95byDmqILlkpbpu5EiLCJwaWN0dXJlIjoiaHR0cHM6Ly9wcm9maWxlLmxpbmUtc2Nkbi5uZXQvMGg1ZmJPVWRMb2FrbGZObm9OM0hBVkhtTKeWxrWmk1NkFINGFNd04zTG5walppdDBEeW9hWmxRaEtpOHhOWHgyIn0.ZYFgZ98T-cNHTRN2Flqhc_LiVQ3x_j33_f0UEDRMK4k\"}<\/pre>\n<p>\u6700\u5f8c\u628a access_token \u4e1f\u5230 profile \u53d6\u5f97\u767b\u5165\u4f7f\u7528\u8005\u8cc7\u6599<\/p>\n<pre class=\"lang:default decode:true\">curl -v -X GET https:\/\/api.line.me\/v2\/profile -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.GBSwhR_IGb9-jbzZni8ixxxxxxxxxHPHAU_pw3R4U07ITuI_HGOjjy4gAzJIxxxxxxxESciryN6G3sI_dPawXUC0uM9e8wBTs6xEKxw-4P1x22ibNmKG5OuCLcM2INgQAk5tuLwhrK5ZkxWPI.G2pC3NbgGPkE21cxgUhSxiry936a29zFJnA1KEQj3xA'<\/pre>\n<p>\u5c31\u53ef\u4ee5\u5f97\u5230<\/p>\n<pre class=\"lang:default decode:true\">{\"userId\":\"U05c5ed3d4xxxxxxxx30c0c63a976f\",\"displayName\":\"hoyo \u6a02\u5496\u9ed1\",\"pictureUrl\":\"https:\/\/profile.line-scdn.net\/0h5fbO2gqxaklPNnoN3HAUNj9maSNsRzNbYwUxxxxxxxxxxxxxxx1Qgen03MX1DJR0vUWCWfUgGN3hzAiofY1Ytqg\"}<\/pre>\n<p>--<\/p>\n<h2>https:\/\/access.line.me\/oauth2\/v2.1\/authorize?<\/h2>\n<p>?\u5f8c\u9762\u63a5\u4e0a\u53c3\u6578\uff0c\u8aaa\u660e\u5982\u4e0b<\/p>\n<table class=\"parameter-table\">\n<thead>\n<tr>\n<th>\u53c3\u6578<\/th>\n<th>\u985e\u578b<\/th>\n<th>\u5fc5\u586b\uff1f<\/th>\n<th>\u63cf\u8ff0<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>response_type<\/code><\/td>\n<td>\u5b57\u4e32<\/td>\n<td class=\"text-nowrap\">\u5fc5\u586b<\/td>\n<td><code>code<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>client_id<\/code><\/td>\n<td>\u5b57\u4e32<\/td>\n<td class=\"text-nowrap\">\u5fc5\u586b<\/td>\n<td>LINE\u767b\u9304\u983b\u9053ID\u3002\u60a8\u53ef\u4ee5\u5728<a class=\"\" href=\"https:\/\/developers.line.biz\/console\/\">LINE\u958b\u767c\u8005\u63a7\u5236\u53f0<\/a>\u4e2d\u627e\u5230\u5b83\u3002<\/td>\n<\/tr>\n<tr>\n<td><code>redirect_uri<\/code><\/td>\n<td>\u5b57\u4e32<\/td>\n<td class=\"text-nowrap\">\u5fc5\u586b<\/td>\n<td>\u5728<a class=\"\" href=\"https:\/\/developers.line.biz\/console\/\">LINE\u958b\u767c\u8005\u63a7\u5236\u53f0<\/a>\u4e0a\u8a3b\u518a\u7684\u56de\u8abfURL\u7684URL\u7de8\u78bc\u5b57\u4e32\u3002\u60a8\u53ef\u4ee5\u65b0\u589e\u4efb\u4f55\u67e5\u8a62\u53c3\u6578\u3002<\/td>\n<\/tr>\n<tr>\n<td><code>state<\/code><\/td>\n<td>\u5b57\u4e32<\/td>\n<td class=\"text-nowrap\">\u5fc5\u586b<\/td>\n<td>\u7528\u65bc\u9632\u6b62\u7684\u552f\u4e00\u5b57\u6bcd\u6578\u4f4d\u5b57\u4e32<a href=\"https:\/\/wikipedia.org\/wiki\/Cross-site_request_forgery\" target=\"_blank\" rel=\"noopener noreferrer\">\u8de8\u7ad9\u8acb\u6c42\u507d\u9020\u00a0<span class=\"sr-only\">\uff08\u958b\u555f\u65b0\u8996\u7a97\uff09<\/span><\/a>.<strong>Web \u61c9\u7528\u61c9\u70ba\u6bcf\u500b\u767b\u9304\u6703\u8a71\u751f\u6210\u4e00\u500b\u96a8\u6a5f\u503c\u3002<\/strong>\u9019\u4e0d\u80fd\u662f URL \u7de8\u78bc\u7684\u5b57\u4e32\u3002<\/td>\n<\/tr>\n<tr>\n<td><code>scope<\/code><\/td>\n<td>\u5b57\u4e32<\/td>\n<td class=\"text-nowrap\">\u5fc5\u586b<\/td>\n<td>\u5f9e\u4f7f\u7528\u8005\u8acb\u6c42\u7684\u8a31\u53ef\u6b0a\u3002\u6709\u95dc\u8a73\u7d30\u8cc7\u8a0a\uff0c\u8acb\u53c3\u95b1<a href=\"https:\/\/developers.line.biz\/en\/docs\/line-login\/integrate-line-login\/#scopes\">\u4f5c\u7528\u57df<\/a>\u3002<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\u5982\u679c\u9700\u8981\u50b3\u905e\u984d\u5916\u7684\u53c3\u6578\uff0c\u5c31\u9644\u52a0\u5728 redirect_uri \u4e0a\uff0c\u4f8b\u5982\u8981\u548c\u5e33\u865f\u7d81\u5b9a LINE \u5e33\u865f\u9700\u8981 user_id\uff0c\u90a3\u5c31\u53ef\u4ee5\u5728\u7db2\u5740\u5f8c\u9762\u52a0\u4e0a ?user_id=xxxx \u9019\u6a23\u50b3\u905e\uff0c\u4e0d\u904e\u5f8c\u9762 token \u7684 redirect_uri \u4e5f\u8981\u76f8\u540c<\/p>\n<p>scope \u8aaa\u660e<\/p>\n<table>\n<thead>\n<tr>\n<th>Scope<\/th>\n<th>Profile<br \/>\ninformation<\/th>\n<th><a class=\"\" href=\"https:\/\/developers.line.biz\/en\/docs\/line-login\/verify-id-token\/#id-tokens\">ID token<\/a><br \/>\n(including user ID)<\/th>\n<th>Display name<br \/>\nin\u00a0<a class=\"\" href=\"https:\/\/developers.line.biz\/en\/docs\/line-login\/verify-id-token\/#id-tokens\">ID token<\/a><\/th>\n<th>Profile image URL<br \/>\nin\u00a0<a class=\"\" href=\"https:\/\/developers.line.biz\/en\/docs\/line-login\/verify-id-token\/#id-tokens\">ID token<\/a><\/th>\n<th>Email address<br \/>\nin\u00a0<a class=\"\" href=\"https:\/\/developers.line.biz\/en\/docs\/line-login\/verify-id-token\/#id-tokens\">ID token<\/a><\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>profile<\/code><\/td>\n<td>\u2713<\/td>\n<td>-<\/td>\n<td>-<\/td>\n<td>-<\/td>\n<td>-<\/td>\n<\/tr>\n<tr>\n<td><code>profile%20openid<\/code><\/td>\n<td>\u2713<\/td>\n<td>\u2713<\/td>\n<td>\u2713<\/td>\n<td>\u2713<\/td>\n<td>-<\/td>\n<\/tr>\n<tr>\n<td><code>profile%20openid%20email<\/code><\/td>\n<td>\u2713<\/td>\n<td>\u2713<\/td>\n<td>\u2713<\/td>\n<td>\u2713<\/td>\n<td>\u2713 (see note)<\/td>\n<\/tr>\n<tr>\n<td><code>openid<\/code><\/td>\n<td>-<\/td>\n<td>\u2713<\/td>\n<td>-<\/td>\n<td>-<\/td>\n<td>-<\/td>\n<\/tr>\n<tr>\n<td><code>openid%20email<\/code><\/td>\n<td>-<\/td>\n<td>\u2713<\/td>\n<td>-<\/td>\n<td>-<\/td>\n<td>\u2713 (see note)<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\u767b\u5165\u958b\u59cb\u9700\u8981\u7528\u7a0b\u5f0f\u4f86\u8655\u7406\u4e00\u4e9b\u53c3\u6578\uff0c\u4f8b\u5982 state \uff0c\u7576\u7136\u56fa\u5b9a\u503c\u4e5f\u53ef\u4ee5<\/p>\n<p>\u5982\u679c redirect_uri \u6709\u7279\u6b8a\u5b57\u5143 ? &amp; \u5c31\u9700\u8981\u4f7f\u7528 urlencode() \u4f86\u7de8\u78bc<\/p>\n<pre class=\"lang:default decode:true\">&lt;a href=\"https:\/\/access.line.me\/oauth2\/v2.1\/authorize?response_type=code&amp;amp;client_id=2005611794&amp;amp;redirect_uri=https%3A%2F%2Fupad12.com%2FLineLoginCallback%3Faction%3Dbind&amp;amp;state=666be51e8c72c&amp;amp;scope=profile%20openid\"&gt;\u9032\u884c\u7d81\u5b9a&lt;\/a&gt;<\/pre>\n<p>--<\/p>\n<h2>https:\/\/api.line.me\/oauth2\/v2.1\/token<\/h2>\n<table width=\"507\">\n<tbody>\n<tr>\n<td width=\"138\">grant_type<\/td>\n<td width=\"369\">authorization_code<\/td>\n<\/tr>\n<tr>\n<td>code<\/td>\n<td><a href=\"https:\/\/developers.line.biz\/en\/docs\/line-login\/integrate-line-login\/#receiving-the-authorization-code\">\u5f9e LINE \u5e73\u53f0\u6536\u5230\u7684\u6388\u6b0a\u78bc<\/a><\/td>\n<\/tr>\n<tr>\n<td>redirect_uri<\/td>\n<td><a href=\"https:\/\/developers.line.biz\/en\/docs\/line-login\/integrate-line-login\/#making-an-authorization-request\">\u8207\u6388\u6b0a\u8acb\u6c42redirect_uri\u4e2d\u6307\u5b9a\u7684\u503c\u76f8\u540c\u3002<\/a><\/td>\n<\/tr>\n<tr>\n<td>client_id<\/td>\n<td><a href=\"https:\/\/developers.line.biz\/console\/\">\u5728LINE \u958b\u767c\u8005\u63a7\u5236\u53f0\u4e2d\u627e\u5230\u3002<\/a><\/td>\n<\/tr>\n<tr>\n<td>client_secret<\/td>\n<td><a href=\"https:\/\/developers.line.biz\/console\/\">\u5728LINE \u958b\u767c\u8005\u63a7\u5236\u53f0\u4e2d\u627e\u5230\u3002<\/a><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>PHP \u7a0b\u5f0f\u7bc4\u4f8b<\/p>\n<pre class=\"lang:php decode:true \">$post = [\r\n    'grant_type' =&gt; 'authorization_code',\r\n    'code' =&gt; $_GET['code'],\r\n    'redirect_uri' =&gt; call_back_url,\r\n    'client_id' =&gt; client_id,\r\n    'client_secret' =&gt; client_secret,\r\n];\r\n$ch = curl_init();\r\ncurl_setopt($ch, CURLOPT_URL, 'https:\/\/api.line.me\/oauth2\/v2.1\/token');\r\ncurl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post));\r\ncurl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);\r\n$response = json_decode(curl_exec($ch), true);\r\ncurl_close($ch);<\/pre>\n<p>--<\/p>\n<h2>https:\/\/api.line.me\/v2\/profile<\/h2>\n<p>PHP \u7a0b\u5f0f\u7bc4\u4f8b<\/p>\n<pre class=\"lang:php decode:true\">$ch = curl_init();\r\ncurl_setopt($ch, CURLOPT_URL, 'https:\/\/api.line.me\/v2\/profile');\r\ncurl_setopt($ch, CURLOPT_HTTPHEADER, ['Authorization: Bearer '. $response['access_token']]);\r\ncurl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);\r\n$response = json_decode(curl_exec($ch), true);\r\ncurl_close($ch);<\/pre>\n<p>--<\/p>\n<h2>PHP curl \u5b8c\u6574\u7a0b\u5f0f\u7bc4\u4f8b<\/h2>\n<ul>\n<li><a href=\"https:\/\/blog.csdn.net\/qq_35641923\/article\/details\/81386708\" target=\"_blank\" rel=\"noopener\">php curl \u8f6c\u4e3a x-www-form-urlencoded \u65b9\u5f0f\u7684\u5751-CSDN\u535a\u5ba2<\/a><\/li>\n<\/ul>\n<pre class=\"lang:php decode:true\">&lt;?php\r\ndefine(\"call_back_url\", 'https:\/\/upad12.com\/LineLoginCallback');\r\ndefine(\"client_id\", '2009999994');\r\ndefine(\"client_secret\", '3c3208e66666666666edc1211c0051b6');\r\n\r\nif ($_GET['code'] != '') {\r\n    $post = [\r\n        'grant_type' =&gt; 'authorization_code',\r\n        'code' =&gt; $_GET['code'],\r\n        'redirect_uri' =&gt; call_back_url,\r\n        'client_id' =&gt; client_id,\r\n        'client_secret' =&gt; client_secret,\r\n    ];\r\n    $ch = curl_init();\r\n    curl_setopt($ch, CURLOPT_URL, 'https:\/\/api.line.me\/oauth2\/v2.1\/token');\r\n    \/\/curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application\/x-www-form-urlencoded'));\r\n    curl_setopt($ch, CURLINFO_HEADER_OUT, true);\r\n    curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post));\r\n    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);\r\n    $response = json_decode(curl_exec($ch), true);\r\n    $info = curl_getinfo($ch);\r\n    curl_close($ch);\r\n\r\n    $ch = curl_init();\r\n    curl_setopt($ch, CURLOPT_URL, 'https:\/\/api.line.me\/v2\/profile');\r\n    curl_setopt($ch, CURLOPT_HTTPHEADER, ['Authorization: Bearer '. $response['access_token']]);\r\n    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);\r\n    $response = json_decode(curl_exec($ch), true);\r\n    curl_close($ch);\r\n}<\/pre>\n<p>--<\/p>\n<div class=\"pvc_clear\"><\/div>\n<p class=\"pvc_stats all \" data-element-id=\"5995\" style=\"\"><i class=\"pvc-stats-icon medium\" aria-hidden=\"true\"><svg aria-hidden=\"true\" focusable=\"false\" data-prefix=\"far\" data-icon=\"chart-bar\" role=\"img\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 512 512\" class=\"svg-inline--fa fa-chart-bar fa-w-16 fa-2x\"><path fill=\"currentColor\" d=\"M396.8 352h22.4c6.4 0 12.8-6.4 12.8-12.8V108.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v230.4c0 6.4 6.4 12.8 12.8 12.8zm-192 0h22.4c6.4 0 12.8-6.4 12.8-12.8V140.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v198.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h22.4c6.4 0 12.8-6.4 12.8-12.8V204.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v134.4c0 6.4 6.4 12.8 12.8 12.8zM496 400H48V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16zm-387.2-48h22.4c6.4 0 12.8-6.4 12.8-12.8v-70.4c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v70.4c0 6.4 6.4 12.8 12.8 12.8z\" class=\"\"><\/path><\/svg><\/i> &nbsp;4,030&nbsp;total views<\/p>\n<div class=\"pvc_clear\"><\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u53c3\u8003\u8cc7\u8a0a Integratin...<\/p>\n<div class=\"pvc_clear\"><\/div>\n<p class=\"pvc_stats all \" data-element-id=\"5995\" style=\"\"><i class=\"pvc-stats-icon medium\" aria-hidden=\"true\"><svg aria-hidden=\"true\" focusable=\"false\" data-prefix=\"far\" data-icon=\"chart-bar\" role=\"img\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 512 512\" class=\"svg-inline--fa fa-chart-bar fa-w-16 fa-2x\"><path fill=\"currentColor\" d=\"M396.8 352h22.4c6.4 0 12.8-6.4 12.8-12.8V108.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v230.4c0 6.4 6.4 12.8 12.8 12.8zm-192 0h22.4c6.4 0 12.8-6.4 12.8-12.8V140.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v198.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h22.4c6.4 0 12.8-6.4 12.8-12.8V204.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v134.4c0 6.4 6.4 12.8 12.8 12.8zM496 400H48V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16zm-387.2-48h22.4c6.4 0 12.8-6.4 12.8-12.8v-70.4c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v70.4c0 6.4 6.4 12.8 12.8 12.8z\" class=\"\"><\/path><\/svg><\/i> &nbsp;4,030&nbsp;total views<\/p>\n<div class=\"pvc_clear\"><\/div>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[260],"tags":[],"_links":{"self":[{"href":"https:\/\/blog.hoyo.idv.tw\/index.php?rest_route=\/wp\/v2\/posts\/5995"}],"collection":[{"href":"https:\/\/blog.hoyo.idv.tw\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.hoyo.idv.tw\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.hoyo.idv.tw\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.hoyo.idv.tw\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=5995"}],"version-history":[{"count":15,"href":"https:\/\/blog.hoyo.idv.tw\/index.php?rest_route=\/wp\/v2\/posts\/5995\/revisions"}],"predecessor-version":[{"id":13322,"href":"https:\/\/blog.hoyo.idv.tw\/index.php?rest_route=\/wp\/v2\/posts\/5995\/revisions\/13322"}],"wp:attachment":[{"href":"https:\/\/blog.hoyo.idv.tw\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=5995"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.hoyo.idv.tw\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=5995"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.hoyo.idv.tw\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=5995"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}