{"id":35,"date":"2022-03-01T09:00:00","date_gmt":"2022-03-01T09:00:00","guid":{"rendered":"https:\/\/gfejp-demo.com\/?p=35"},"modified":"2022-07-14T09:19:47","modified_gmt":"2022-07-14T09:19:47","slug":"spreadsheet-api","status":"publish","type":"post","link":"https:\/\/apidemo.ddrive.cloud\/?p=35","title":{"rendered":"Sheets API"},"content":{"rendered":"\n<p>\u3053\u306e\u30b5\u30f3\u30d7\u30eb\u3067\u306f Google Sheets API \u3092\u4f7f\u7528\u3057\u3066\u3001Web \u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u304b\u3089\u30b9\u30d7\u30ec\u30c3\u30c9\u30b7\u30fc\u30c8\u306e\u4f5c\u6210\u3001\u66f8\u5f0f\u306e\u8a2d\u5b9a\u3001\u30d4\u30dc\u30c3\u30c8\u30c6\u30fc\u30d6\u30eb\u3092\u751f\u6210\u3059\u308b\u65b9\u6cd5\u3092\u7d39\u4ecb\u3057\u307e\u3059\u3002<br>\u3053\u3053\u3067\u6271\u3046\u30b5\u30f3\u30d7\u30eb \u30bd\u30fc\u30b9\u30b3\u30fc\u30c9\u306f \u00a0<a href=\"https:\/\/github.com\/ddrivedemo\/Devel-SpreadsheetAPI-Demo\">\u3053\u3061\u3089\uff08github.com\uff09<\/a>\u00a0\u304b\u3089\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<form method=\"get\" id=\"demo_creaetSpreadSheet\" name=\"demoform01\" target=\"_new\" action=\"\/demo\/devel_drive_api_demo_01_auth?state=devel_spreadsheet_opensheet\">\n  <input type=\"hidden\" name=\"_token\" value=\"XlR6SnC2QduHembfRgrXg201mJcFy4ZLIyH1uw3z\">\n  <input type=\"hidden\" name=\"state\" value=\"devel_spreadsheet_opensheet\">\n  <a href=\"#\" onclick=\"document.demoform01.submit(); return false;\" class=\"demo-button\"><img decoding=\"async\" src=\"https:\/\/apidemo.ddrive.cloud\/wp-content\/uploads\/2022\/05\/Apps-1-554x1024.png\" alt=\"\" class=\"appimage_logo\">\u30a2\u30d7\u30ea\u30b5\u30f3\u30d7\u30eb \u7a7a\u306e\u30b9\u30d7\u30ec\u30c3\u30c9\u30b7\u30fc\u30c8\u3092\u4f5c\u6210\u3059\u308b<\/a>\n<\/form>\n\n\n\n<a href=\"https:\/\/accounts.google.com\/AccountChooser?service=lso&amp;continue=https:\/\/drive.google.com\/drive\/my-drive\" target=\"_new\" rel=\"noopener\"><img decoding=\"async\" src=\"https:\/\/apidemo.ddrive.cloud\/wp-content\/uploads\/2022\/05\/Google_Drive_logo.png\" alt=\"\" class=\"driveimage_logo\">\u30c9\u30e9\u30a4\u30d6 \u3067\u78ba\u8a8d\u3059\u308b<\/a><br>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h4 class=\"wp-block-heading\">\u30b9\u30d7\u30ec\u30c3\u30c9\u30b7\u30fc\u30c8\u306e\u64cd\u4f5c<\/h4>\n\n\n\n<h5 class=\"wp-block-heading\">\u30b9\u30d7\u30ec\u30c3\u30c9\u30b7\u30fc\u30c8\u306e\u4f5c\u6210\u3068\u30b7\u30fc\u30c8\u306e\u8ffd\u52a0<\/h5>\n\n\n\n<p>\u65b0\u3057\u3044\u30b9\u30d7\u30ec\u30c3\u30c9\u30b7\u30fc\u30c8\u3092\u4f5c\u6210\u3057\u3001\u30b7\u30fc\u30c8\u3092\u8ffd\u52a0\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-php\" data-lang=\"PHP\"><code>\/**\n* \u30b9\u30d7\u30ec\u30c3\u30c9\u30b7\u30fc\u30c8 \u306e\u4f5c\u6210\n* $client: Google\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\n*\/\npublic function createEmptySpreadsheet($client) {\n\n    try {\n        \/\/ \u30b9\u30d7\u30ec\u30c3\u30c9\u30b7\u30fc\u30c8 \u30b5\u30fc\u30d3\u30b9 \u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3092\u751f\u6210\n        $service = new \\Google_Service_Sheets($client);\n\n        \/\/ \u30b9\u30d7\u30ec\u30c3\u30c9\u30b7\u30fc\u30c8 \u3092\u4f5c\u6210\n        $postBody = new \\Google_Service_Sheets_Spreadsheet([\n            &#39;properties&#39; =&gt; [\n                &#39;title&#39; =&gt; &#39;New Spreadsheet 1&#39; \/\/ \u30b9\u30d7\u30ec\u30c3\u30c9\u30b7\u30fc\u30c8\u540d\n            ]\n        ]);\n\n        $optParams = array();\n        $spreadsheet = $service-&gt;spreadsheets-&gt;create($postBody, $optParams);\n        $spreadsheetId = $spreadsheet-&gt;spreadsheetId;\n\n        \/\/ \u65b0\u3057\u3044\u30b7\u30fc\u30c8\u3092\u8ffd\u52a0\n        $body = new \\Google_Service_Sheets_BatchUpdateSpreadsheetRequest([\n            &#39;requests&#39; =&gt; [\n                &#39;addSheet&#39; =&gt; [\n                    &#39;properties&#39; =&gt; [\n                        &#39;title&#39; =&gt; &#39;New Sheet 1&#39; \/\/ \u30b7\u30fc\u30c8\u540d\n                    ]\n                ]\n            ]\n        ]);\n\n        $response = $service-&gt;spreadsheets-&gt;batchUpdate($spreadsheetId, $body);\n\n    } catch(\\Exception $e) {\n        $msg = $e -&gt; getMessage();\n        return $msg;\n    }\n}<\/code><\/pre><\/div>\n\n\n\n<p>\u30c7\u30e2\u3092\u5b9f\u884c\u3059\u308b\u3068\u3001[New Spreadsheet 1]\u3068\u3044\u3046\u540d\u524d\u306e\u30b9\u30d7\u30ec\u30c3\u30c9\u30b7\u30fc\u30c8\u3092\u4f5c\u6210\u3057\u3001[New Sheet 1]\u30b7\u30fc\u30c8\u3092\u8ffd\u52a0\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h5 class=\"wp-block-heading\">\u30c7\u30fc\u30bf\u306e\u66f8\u304d\u51fa\u3057<\/h5>\n\n\n\n<p>\u30b9\u30d7\u30ec\u30c3\u30c9\u30b7\u30fc\u30c8\u306b\u30c7\u30fc\u30bf\u3092\u51fa\u529b\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<form method=\"get\" name=\"demoform02\" target=\"_new\" action=\"\/demo\/devel_drive_api_demo_01_auth?state=devel_spreadsheet_exportcsv\">\n  <input type=\"hidden\" name=\"_token\" value=\"XlR6SnC2QduHembfRgrXg201mJcFy4ZLIyH1uw3z\">\n  <input type=\"hidden\" name=\"state\" value=\"devel_spreadsheet_exportcsv\">\n  <a href=\"#\" onclick=\"document.demoform02.submit(); return false;\" class=\"demo-button\"><img decoding=\"async\" src=\"https:\/\/apidemo.ddrive.cloud\/wp-content\/uploads\/2022\/05\/Apps-1-554x1024.png\" alt=\"\" class=\"appimage_logo\">\u30a2\u30d7\u30ea\u30b5\u30f3\u30d7\u30eb \u30b9\u30d7\u30ec\u30c3\u30c9\u30b7\u30fc\u30c8\u306b\u4fdd\u5b58\u3059\u308b<\/a>\n<\/form>\n\n\n\n<a href=\"https:\/\/accounts.google.com\/AccountChooser?service=lso&amp;continue=https:\/\/drive.google.com\/drive\/my-drive\" target=\"_new\" rel=\"noopener\"><img decoding=\"async\" src=\"https:\/\/apidemo.ddrive.cloud\/wp-content\/uploads\/2022\/05\/Google_Drive_logo.png\" alt=\"\" class=\"driveimage_logo\">\u30c9\u30e9\u30a4\u30d6 \u3067\u78ba\u8a8d\u3059\u308b<\/a>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-php\" data-lang=\"PHP\"><code>\/**\n* \u30b9\u30d7\u30ec\u30c3\u30c9\u30b7\u30fc\u30c8\u3078\u306e\u30c7\u30fc\u30bf\u306e\u66f8\u304d\u51fa\u3057\n* $client: Google\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\n*\/\npublic function develSpreadsheetExportcsv($client) {\n\n    \/\/ \u51fa\u529b\u3059\u308b\u30c7\u30fc\u30bf\n    $values = [\n        [&quot;id&quot;,&quot;class&quot;,&quot;email&quot;,&quot;name&quot;,&quot;math&quot;,&quot;science&quot;,&quot;english&quot;],\n        [&quot;1&quot;,&quot;1A&quot;,&quot;john@example.com&quot;,&quot;John J. Coons&quot;,&quot;90&quot;,&quot;88&quot;,&quot;96&quot;],\n        [&quot;2&quot;,&quot;1A&quot;,&quot;crystal@example.com&quot;,&quot;Crystal C. Burnett&quot;,&quot;32&quot;,&quot;44&quot;,&quot;89&quot;],\n        [&quot;3&quot;,&quot;1B&quot;,&quot;anthony@example.com&quot;,&quot;Anthony T. Dudley&quot;,&quot;72&quot;,&quot;68&quot;,&quot;24&quot;],\n        [&quot;4&quot;,&quot;1B&quot;,&quot;francisca@example.com&quot;,&quot;Francisca H. Rapp&quot;,&quot;89&quot;,&quot;94&quot;,&quot;92&quot;]\n    ];\n    $range = &#39;CSV 1!A1:G5&#39;;\n\n    try {\n        \/\/ \u30b9\u30d7\u30ec\u30c3\u30c9\u30b7\u30fc\u30c8\u30b5\u30fc\u30d3\u30b9 \u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3092\u751f\u6210\n        $service = new \\Google_Service_Sheets($client);\n\n        \/\/ \u30b9\u30d7\u30ec\u30c3\u30c9\u30b7\u30fc\u30c8\u3092\u4f5c\u6210\n        $postBody = new \\Google_Service_Sheets_Spreadsheet([\n            &#39;properties&#39; =&gt; [\n                &#39;title&#39; =&gt; &#39;CSV import 1&#39; \/\/ \u30b9\u30d7\u30ec\u30c3\u30c9\u30b7\u30fc\u30c8\u540d\n            ]\n        ]);\n\n        $optParams = array();\n        $spreadsheet = $service-&gt;spreadsheets-&gt;create($postBody, $optParams);\n        $spreadsheetId = $spreadsheet-&gt;spreadsheetId;\n        $this-&gt;csvSpreadsheetId = $spreadsheetId;\n\n        \/\/ \u65b0\u3057\u3044\u30b7\u30fc\u30c8\u3092\u8ffd\u52a0\n        $body = new \\Google_Service_Sheets_BatchUpdateSpreadsheetRequest([\n            &#39;requests&#39; =&gt; [\n                &#39;addSheet&#39; =&gt; [\n                    &#39;properties&#39; =&gt; [\n                        &#39;title&#39; =&gt; &#39;CSV 1&#39;\n                    ]\n                ]\n            ]\n        ]);\n        $response = $service-&gt;spreadsheets-&gt;batchUpdate($spreadsheetId, $body);\n\n        \/\/ \u51fa\u529b\u3059\u308b\u30c7\u30fc\u30bf\u3092\u6e96\u5099\n        $body = new \\Google_Service_Sheets_ValueRange([\n            &#39;values&#39; =&gt; $values\n        ]);\n        $body-&gt;setValues($values);\n\n        $params = [&#39;valueInputOption&#39; =&gt; &#39;USER_ENTERED&#39;];\n\n        \/\/ \u30c7\u30fc\u30bf\u3092\u51fa\u529b\n        $result = $service-&gt;spreadsheets_values-&gt;update(\n            $spreadsheetId, \/\/ \u30b9\u30d7\u30ec\u30c3\u30c9\u30b7\u30fc\u30c8ID\n            $range, \/\/ \u51fa\u529b\u5148\u306e\u30c7\u30fc\u30bf\u30ec\u30f3\u30b8\n            $body, \/\/ \u51fa\u529b\u30c7\u30fc\u30bf\n            $params \/\/ \u51fa\u529b\u30aa\u30d7\u30b7\u30e7\u30f3\n        );\n\n    } catch(\\Exception $e) {\n        $msg = $e -&gt; getMessage();\n        return $msg;\n    }\n}<\/code><\/pre><\/div>\n\n\n\n<p>\u30c7\u30e2\u3092\u5b9f\u884c\u3059\u308b\u3068\u3001[CSV import 1]\u3068\u3044\u3046\u540d\u524d\u3067\u30b9\u30d7\u30ec\u30c3\u30c9\u30b7\u30fc\u30c8 \u3092\u4f5c\u6210\u3057\u3001\u30c7\u30fc\u30bf\u3092\u4fdd\u5b58\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h5 class=\"wp-block-heading\">\u66f8\u5f0f\u306e\u8a2d\u5b9a<\/h5>\n\n\n\n<p>\u4fdd\u5b58\u3057\u305f\u30b9\u30d7\u30ec\u30c3\u30c9\u30b7\u30fc\u30c8\u306b\u66f8\u5f0f(\u30bb\u30eb\u306e\u8272\u6307\u5b9a)\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<form method=\"get\" name=\"demoform03\" target=\"_new\" action=\"\/demo\/devel_drive_api_demo_01_auth?state=devel_spreadsheet_formatsheet\">\n  <input type=\"hidden\" name=\"_token\" value=\"XlR6SnC2QduHembfRgrXg201mJcFy4ZLIyH1uw3z\">\n  <input type=\"hidden\" name=\"state\" value=\"devel_spreadsheet_formatsheet\">\n  <a href=\"#\" onclick=\"document.demoform03.submit(); return false;\" class=\"demo-button\"><img decoding=\"async\" src=\"https:\/\/apidemo.ddrive.cloud\/wp-content\/uploads\/2022\/05\/Apps-1-554x1024.png\" alt=\"\" class=\"appimage_logo\">\u30a2\u30d7\u30ea\u30b5\u30f3\u30d7\u30eb \u3000\u3000\u66f8\u5f0f\u3092\u8a2d\u5b9a\u3059\u308b<\/a>\n<\/form>\n\n\n\n<a href=\"https:\/\/accounts.google.com\/AccountChooser?service=lso&amp;continue=\" https:=\"\" drive.google.com=\"\" drive=\"\" my-drive\"=\"\" target=\"_new\" rel=\"noopener\"><img decoding=\"async\" src=\"https:\/\/apidemo.ddrive.cloud\/wp-content\/uploads\/2022\/05\/Google_Drive_logo.png\" alt=\"\" class=\"driveimage_logo\">\u30c9\u30e9\u30a4\u30d6\u3067\u78ba\u8a8d\u3059\u308b<\/a><br>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-php\" data-lang=\"PHP\"><code>\/**\n* \u30b9\u30d7\u30ec\u30c3\u30c9\u30b7\u30fc\u30c8\u306e\u66f8\u5f0f\u8a2d\u5b9a\n* $client: Google\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\n*\/\npublic function formatSpreadsheet($client) {\n\n    try {\n        \/\/ \u30c9\u30e9\u30a4\u30d6\u30b5\u30fc\u30d3\u30b9 \u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3092\u751f\u6210\n        $driveClient = new \\Google_Service_Drive($client);\n\n        \/\/ \u540d\u524d\u3092\u6307\u5b9a\u3057\u3066\u30c9\u30e9\u30a4\u30d6 \u5185\u306e\u30b9\u30d7\u30ec\u30c3\u30c9\u30b7\u30fc\u30c8\u3092\u691c\u7d22\n        $result = $driveClient-&gt;files-&gt;listFiles([\n            &quot;q&quot; =&gt; &quot;name=&#39;CSV import 1&#39;&quot;\n        ]);\n        $file = $result-&gt;getFiles()[0];\n        $spreadsheet_id = $file-&gt;getId();\n\n        \/\/ \u30b9\u30d7\u30ec\u30c3\u30c9\u30b7\u30fc\u30c8\u30b5\u30fc\u30d3\u30b9 \u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3092\u751f\u6210\n        $spreadsheet_service = new \\Google_Service_Sheets($client);\n\n        \/\/ \u30b7\u30fc\u30c8ID\u3092\u53d6\u5f97\n        $sheet_id;\n        $response = $spreadsheet_service-&gt;spreadsheets-&gt;get($spreadsheet_id);\n        $sheets = $response-&gt;getSheets();\n        foreach ($sheets as $sheet) {\n            $properties = $sheet-&gt;getProperties();\n            $sheet_title = $properties-&gt;getTitle();\n            \n            \/\/ \u540d\u524d\u306e\u4e00\u81f4\u3059\u308b\u30b7\u30fc\u30c8\u3092\u691c\u7d22\n            if ($sheet_title == &quot;CSV 1&quot;) {\n                $sheet_id = $properties-&gt;getSheetId();\n                break;\n            }\n        }\n\n        \/\/ \u66f8\u5f0f\u3092\u8a2d\u5b9a\u3059\u308b\u7bc4\u56f2\u3068\u66f8\u5f0f\u3092\u6e96\u5099\n        $request_data = [\n            &#39;repeatCell&#39; =&gt; [\n                &#39;fields&#39; =&gt; &#39;userEnteredFormat(backgroundColor)&#39;,\n                &#39;range&#39; =&gt; [\n                    &#39;sheetId&#39; =&gt; $sheet_id,\n                    &#39;startRowIndex&#39; =&gt; 0, \/\/ \u884c\u306e\u958b\u59cb\u4f4d\u7f6e\n                    &#39;startColumnIndex&#39; =&gt; 0, \/\/ \u5217\u306e\u958b\u59cb\u4f4d\u7f6e\n                    &#39;endRowIndex&#39; =&gt; 5, \/\/ \u884c\u306e\u7d42\u4e86\u4f4d\u7f6e\n                    &#39;endColumnIndex&#39; =&gt; 7, \/\/ \u5217\u306e\u7d42\u4e86\u4f4d\u7f6e\n                ],\n                &#39;cell&#39; =&gt; [\n                    &#39;userEnteredFormat&#39; =&gt; [\n                        &#39;backgroundColor&#39; =&gt; [  \/\/ RGB\u5024\u3067\u30bb\u30eb\u306e\u80cc\u666f\u8272\u3092\u6307\u5b9a\n                            &#39;red&#39; =&gt; 234\/255,\n                            &#39;green&#39; =&gt; 143\/255,\n                            &#39;blue&#39; =&gt; 143\/255\n                        ]\n                    ],\n                ],\n            ],\n        ];\n        $requests = [new \\Google_Service_Sheets_Request($request_data)];\n\n        \/\/ \u66f8\u5f0f\u3092\u8a2d\u5b9a\n        $batchUpdateRequest = new \\Google_Service_Sheets_BatchUpdateSpreadsheetRequest([\n            &#39;requests&#39; =&gt; $requests\n        ]);\n        $response = $spreadsheet_service-&gt;spreadsheets-&gt;batchUpdate($spreadsheet_id, $batchUpdateRequest);\n\n    } catch(\\Exception $e) {\n        $msg = $e -&gt; getMessage();\n        return $msg;\n    }\n}<\/code><\/pre><\/div>\n\n\n\n<p>\u30c7\u30e2\u3092\u5b9f\u884c\u3059\u308b\u3068\u3001userEnteredValue \u30d7\u30ed\u30d1\u30c6\u30a3\u3092\u8a2d\u5b9a\u3057\u3066\u30b9\u30d7\u30ec\u30c3\u30c9\u30b7\u30fc\u30c8\u306e\u66f8\u5f0f\u3092\u6307\u5b9a\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h5 class=\"wp-block-heading\">\u30d4\u30dc\u30c3\u30c8\u30c6\u30fc\u30d6\u30eb\u306e\u751f\u6210<\/h5>\n\n\n\n<p>\u4fdd\u5b58\u3057\u305f\u30b9\u30d7\u30ec\u30c3\u30c9\u30b7\u30fc\u30c8 \u306e\u30c7\u30fc\u30bf\u3092\u5143\u306b\u30d4\u30dc\u30c3\u30c8\u30c6\u30fc\u30d6\u30eb\u3092\u751f\u6210\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<form method=\"get\" name=\"demoform04\" target=\"_new\" action=\"\/demo\/devel_drive_api_demo_01_auth?state=devel_spreadsheet_generate\">\n  <input type=\"hidden\" name=\"_token\" value=\"XlR6SnC2QduHembfRgrXg201mJcFy4ZLIyH1uw3z\">\n  <input type=\"hidden\" name=\"state\" value=\"devel_spreadsheet_generate\">\n  <a href=\"#\" onclick=\"document.demoform04.submit(); return false;\" class=\"demo-button\"><img decoding=\"async\" src=\"https:\/\/apidemo.ddrive.cloud\/wp-content\/uploads\/2022\/05\/Apps-1-554x1024.png\" alt=\"\" class=\"appimage_logo\">\u30a2\u30d7\u30ea\u30b5\u30f3\u30d7\u30eb \u30d4\u30dc\u30c3\u30c8\u30c6\u30fc\u30d6\u30eb\u3092\u751f\u6210\u3059\u308b<\/a>\n<\/form>\n\n\n\n<a href=\"https:\/\/accounts.google.com\/AccountChooser?service=lso&amp;continue=https:\/\/drive.google.com\/drive\/my-drive\" target=\"_new\" rel=\"noopener\"><img decoding=\"async\" src=\"https:\/\/apidemo.ddrive.cloud\/wp-content\/uploads\/2022\/05\/Google_Drive_logo.png\" alt=\"\" class=\"driveimage_logo\">\u30c9\u30e9\u30a4\u30d6 \u3067\u78ba\u8a8d\u3059\u308b<\/a>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-php\" data-lang=\"PHP\"><code>\/**\n* \u30d4\u30dc\u30c3\u30c8\u30c6\u30fc\u30d6\u30eb\u306e\u751f\u6210\n* $client: Google\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\n*\/\npublic function develSpreadsheetGenerate($client) {\n\n    try {\n        \/\/ \u30c9\u30e9\u30a4\u30d6\u30b5\u30fc\u30d3\u30b9 \u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3092\u751f\u6210\n        $driveClient = new \\Google_Service_Drive($client);\n\n        \/\/ \u540d\u524d\u3092\u6307\u5b9a\u3057\u3066\u30c9\u30e9\u30a4\u30d6\u5185\u306e\u30b9\u30d7\u30ec\u30c3\u30c9\u30b7\u30fc\u30c8\u3092\u691c\u7d22\n        $result = $driveClient-&gt;files-&gt;listFiles([\n            &quot;q&quot; =&gt; &quot;name=&#39;CSV import 1&#39;&quot;\n        ]);\n        $file = $result-&gt;getFiles()[0];\n        $spreadsheet_id = $file-&gt;getId();\n\n        \/\/ \u30b9\u30d7\u30ec\u30c3\u30c9\u30b7\u30fc\u30c8\u30b5\u30fc\u30d3\u30b9 \u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3092\u751f\u6210\n        $spreadsheet_service = new \\Google_Service_Sheets($client);\n\n        \/\/ \u30b7\u30fc\u30c8ID\u3092\u53d6\u5f97\n        $sheet_id;\n        $response = $spreadsheet_service-&gt;spreadsheets-&gt;get($spreadsheet_id);\n        $sheets = $response-&gt;getSheets();\n        foreach ($sheets as $sheet) {\n            $properties = $sheet-&gt;getProperties();\n            $sheet_title = $properties-&gt;getTitle();\n\n            \/\/ \u540d\u524d\u306e\u4e00\u81f4\u3059\u308b\u30b7\u30fc\u30c8\u3092\u691c\u7d22\n            if ($sheet_title == &quot;CSV 1&quot;) {\n                $sheet_id = $properties-&gt;getSheetId();\n                break;\n            }\n        }\n\n        \/\/ \u30d4\u30dc\u30c3\u30c8\u30c6\u30fc\u30d6\u30eb\u306e\u8a2d\u5b9a\u3092\u6e96\u5099\n        $requests = [\n            &#39;updateCells&#39; =&gt; [\n                &#39;rows&#39; =&gt; [\n                    &#39;values&#39; =&gt; [\n                        [\n                            &#39;pivotTable&#39; =&gt; [\n                                &#39;source&#39; =&gt; [\n                                    &#39;sheetId&#39; =&gt; $sheet_id,\n                                    &#39;startRowIndex&#39; =&gt; 0, \/\/ \u884c\u306e\u958b\u59cb\u4f4d\u7f6e\n                                    &#39;startColumnIndex&#39; =&gt; 0, \/\/ \u5217\u306e\u958b\u59cb\u4f4d\u7f6e\n                                    &#39;endRowIndex&#39; =&gt; 5, \/\/ \u884c\u306e\u7d42\u4e86\u4f4d\u7f6e\n                                    &#39;endColumnIndex&#39; =&gt; 7 \/\/ \u5217\u306e\u7d42\u4e86\u4f4d\u7f6e\n                                ],\n                                &#39;rows&#39; =&gt; [\n                                    [\n                                        &#39;sourceColumnOffset&#39; =&gt; 1,\n                                        &#39;sortOrder&#39; =&gt; &#39;ASCENDING&#39;,\n                                        &#39;showTotals&#39; =&gt; true,\n                                    ],\n                                    [\n                                        &#39;sourceColumnOffset&#39; =&gt; 2,\n                                        &#39;sortOrder&#39; =&gt; &#39;ASCENDING&#39;,\n                                        &#39;showTotals&#39; =&gt; true,\n                                    ]\n                                ],\n                                &#39;values&#39; =&gt; [\n                                    [\n                                        &#39;summarizeFunction&#39; =&gt; &#39;AVERAGE&#39;, \/\/ \u5e73\u5747\u5024\u3092\u51fa\u529b\n                                        &#39;sourceColumnOffset&#39; =&gt; 4\n                                    ],\n                                    [\n                                        &#39;summarizeFunction&#39; =&gt; &#39;AVERAGE&#39;, \/\/ \u5e73\u5747\u5024\u3092\u51fa\u529b\n                                        &#39;sourceColumnOffset&#39; =&gt; 5\n                                    ],\n                                    [\n                                        &#39;summarizeFunction&#39; =&gt; &#39;AVERAGE&#39;, \/\/ \u5e73\u5747\u5024\u3092\u51fa\u529b\n                                        &#39;sourceColumnOffset&#39; =&gt; 6\n                                    ]\n                                ],\n                            ]\n                        ]\n                    ]\n                ],\n                &#39;start&#39; =&gt; [\n                    &#39;sheetId&#39; =&gt; $sheet_id,\n                    &#39;rowIndex&#39; =&gt; 7,\n                    &#39;columnIndex&#39; =&gt; 2\n                ],\n                &#39;fields&#39; =&gt; &#39;pivotTable&#39;\n            ]\n        ];\n\n        \/\/ \u30d4\u30dc\u30c3\u30c8\u30c6\u30fc\u30d6\u30eb\u3092\u751f\u6210\n        $batchUpdateRequest = new \\Google_Service_Sheets_BatchUpdateSpreadsheetRequest([\n            &#39;requests&#39; =&gt; $requests\n        ]);\n        $response = $spreadsheet_service-&gt;spreadsheets-&gt;batchUpdate($spreadsheet_id, $batchUpdateRequest);\n\n    } catch(\\Exception $e) {\n        $msg = $e -&gt; getMessage();\n        return $msg;\n    }\n}\n<\/code><\/pre><\/div>\n\n\n\n<p>pivotTable \u30d7\u30ed\u30d1\u30c6\u30a3\u3092\u6307\u5b9a\u3057\u3066\u3001\u30d4\u30dc\u30c3\u30c8\u30c6\u30fc\u30d6\u30eb\u3092\u751f\u6210\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u3053\u306e\u30b5\u30f3\u30d7\u30eb\u3067\u306f Google Sheets API \u3092\u4f7f\u7528\u3057\u3066\u3001Web \u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u304b\u3089\u30b9\u30d7\u30ec\u30c3\u30c9\u30b7\u30fc\u30c8\u306e\u4f5c\u6210\u3001\u66f8\u5f0f\u306e\u8a2d\u5b9a\u3001\u30d4\u30dc\u30c3\u30c8\u30c6\u30fc\u30d6\u30eb\u3092\u751f\u6210\u3059\u308b\u65b9\u6cd5\u3092\u7d39\u4ecb\u3057\u307e\u3059\u3002\u3053\u3053\u3067\u6271\u3046\u30b5\u30f3\u30d7\u30eb \u30bd\u30fc\u30b9\u30b3\u30fc\u30c9\u306f \u00a0\u3053\u3061\u3089\uff08 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[],"class_list":["post-35","post","type-post","status-publish","format-standard","hentry","category-developer"],"_links":{"self":[{"href":"https:\/\/apidemo.ddrive.cloud\/index.php?rest_route=\/wp\/v2\/posts\/35","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/apidemo.ddrive.cloud\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/apidemo.ddrive.cloud\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/apidemo.ddrive.cloud\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/apidemo.ddrive.cloud\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=35"}],"version-history":[{"count":23,"href":"https:\/\/apidemo.ddrive.cloud\/index.php?rest_route=\/wp\/v2\/posts\/35\/revisions"}],"predecessor-version":[{"id":666,"href":"https:\/\/apidemo.ddrive.cloud\/index.php?rest_route=\/wp\/v2\/posts\/35\/revisions\/666"}],"wp:attachment":[{"href":"https:\/\/apidemo.ddrive.cloud\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=35"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/apidemo.ddrive.cloud\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=35"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/apidemo.ddrive.cloud\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=35"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}