[{"data":1,"prerenderedAt":583},["ShallowReactive",2],{"navigation-id":3,"index-id":133},[4],{"title":5,"path":6,"stem":7,"children":8,"page":26},"Id","\u002Fid","id",[9,27,48,77,90,96],{"title":10,"path":11,"stem":12,"children":13,"page":26},"Panduan Memulai","\u002Fid\u002Fgetting-started","id\u002F1.getting-started",[14,18,22],{"title":15,"path":16,"stem":17},"Pengenalan","\u002Fid\u002Fgetting-started\u002Fintroduction","id\u002F1.getting-started\u002F1.introduction",{"title":19,"path":20,"stem":21},"Instalasi","\u002Fid\u002Fgetting-started\u002Finstallation","id\u002F1.getting-started\u002F2.installation",{"title":23,"path":24,"stem":25},"Referensi Konfigurasi","\u002Fid\u002Fgetting-started\u002Fconfiguration","id\u002F1.getting-started\u002F3.configuration",false,{"title":28,"path":29,"stem":30,"children":31,"page":26},"Composables","\u002Fid\u002Fcomposables","id\u002F2.composables",[32,36,40,44],{"title":33,"path":34,"stem":35},"useGSheet","\u002Fid\u002Fcomposables\u002Fuse-gsheet","id\u002F2.composables\u002F1.use-gsheet",{"title":37,"path":38,"stem":39},"useGSheetAsObject","\u002Fid\u002Fcomposables\u002Fuse-gsheet-as-object","id\u002F2.composables\u002F2.use-gsheet-as-object",{"title":41,"path":42,"stem":43},"useGSheetRow","\u002Fid\u002Fcomposables\u002Fuse-gsheet-row","id\u002F2.composables\u002F3.use-gsheet-row",{"title":45,"path":46,"stem":47},"useGSheetWrite","\u002Fid\u002Fcomposables\u002Fuse-gsheet-write","id\u002F2.composables\u002F4.use-gsheet-write",{"title":49,"path":50,"stem":51,"children":52,"page":26},"Mode Autentikasi","\u002Fid\u002Fauth-modes","id\u002F3.auth-modes",[53,57,61,65,69,73],{"title":54,"path":55,"stem":56},"Gambaran Umum Mode Autentikasi","\u002Fid\u002Fauth-modes\u002Foverview","id\u002F3.auth-modes\u002F1.overview",{"title":58,"path":59,"stem":60},"Mode GViz (Google Visualization API)","\u002Fid\u002Fauth-modes\u002Fgviz","id\u002F3.auth-modes\u002F2.gviz",{"title":62,"path":63,"stem":64},"Mode Ekspor CSV","\u002Fid\u002Fauth-modes\u002Fcsv","id\u002F3.auth-modes\u002F3.csv",{"title":66,"path":67,"stem":68},"Mode Google Apps Script","\u002Fid\u002Fauth-modes\u002Fappscript","id\u002F3.auth-modes\u002F4.appscript",{"title":70,"path":71,"stem":72},"Mode API Key","\u002Fid\u002Fauth-modes\u002Fapikey","id\u002F3.auth-modes\u002F5.apikey",{"title":74,"path":75,"stem":76},"Mode Service Account","\u002Fid\u002Fauth-modes\u002Fservice-account","id\u002F3.auth-modes\u002F6.service-account",{"title":78,"path":79,"stem":80,"children":81,"page":26},"Integrasi AI","\u002Fid\u002Fai","id\u002F4.ai",[82,86],{"title":83,"path":84,"stem":85},"Agent Skills (Integrasi AI)","\u002Fid\u002Fai\u002Fagent-skills","id\u002F4.ai\u002F1.agent-skills",{"title":87,"path":88,"stem":89},"Model Context Protocol (MCP)","\u002Fid\u002Fai\u002Fmcp","id\u002F4.ai\u002F2.mcp",{"title":91,"path":92,"stem":93,"children":94},"Demo Langsung","\u002Fid\u002Fdemos","id\u002F5.demos\u002Findex",[95],{"title":91,"path":92,"stem":93},{"title":97,"path":98,"stem":99,"children":100,"page":26},"Tutorial Praktis","\u002Fid\u002Ftutorials","id\u002F6.tutorials",[101,105,109,113,117,121,125,129],{"title":102,"path":103,"stem":104},"Gambaran Umum Tutorial","\u002Fid\u002Ftutorials\u002Foverview","id\u002F6.tutorials\u002F0.overview",{"title":106,"path":107,"stem":108},"Tutorial Apps Script Web App","\u002Fid\u002Ftutorials\u002Fappscript-tutorial","id\u002F6.tutorials\u002F1.appscript-tutorial",{"title":110,"path":111,"stem":112},"Tutorial Langkah demi Langkah Lengkap","\u002Fid\u002Ftutorials\u002Fstep-by-step","id\u002F6.tutorials\u002F1.step-by-step",{"title":114,"path":115,"stem":116},"Tutorial Analytics GViz SQL","\u002Fid\u002Ftutorials\u002Fgviz-sql-tutorial","id\u002F6.tutorials\u002F2.gviz-sql-tutorial",{"title":118,"path":119,"stem":120},"Tutorial Katalog Produk CSV","\u002Fid\u002Ftutorials\u002Fcsv-catalog-tutorial","id\u002F6.tutorials\u002F3.csv-catalog-tutorial",{"title":122,"path":123,"stem":124},"Tutorial Inventaris API Key","\u002Fid\u002Ftutorials\u002Fapikey-tutorial","id\u002F6.tutorials\u002F4.apikey-tutorial",{"title":126,"path":127,"stem":128},"Tutorial HR & Payroll Service Account","\u002Fid\u002Ftutorials\u002Fservice-account-tutorial","id\u002F6.tutorials\u002F5.service-account-tutorial",{"title":130,"path":131,"stem":132},"Tutorial Sheet Routing Map","\u002Fid\u002Ftutorials\u002Fsheets-routing-tutorial","id\u002F6.tutorials\u002F6.sheets-routing-tutorial",{"id":134,"title":135,"body":136,"description":135,"extension":575,"meta":576,"navigation":261,"path":577,"seo":578,"stem":581,"__hash__":582},"landing_id\u002Fid\u002Fid\u002Findex.md","",{"type":137,"value":138,"toc":573},"minimark",[139,364,473,554,569],[140,141,148,154,166,171,191],"u-page-hero",{":ui":142,"className":143,"orientation":147},"{\"container\":\"py-12 sm:py-16 lg:py-20\"}",[144,145,146],"dark:bg-gradient-to-b","from-neutral-900","to-neutral-950","horizontal",[149,150,151],"template",{"v-slot:top":135},[152,153],"hero-background",{},[149,155,156],{"v-slot:title":135},[157,158,159,165],"p",{},[160,161,164],"span",{"className":162},[163],"text-primary","Google Sheets"," untuk Nuxt.",[149,167,168],{"v-slot:description":135},[157,169,170],{},"Gunakan Google Sheets sebagai CMS ringan atau database dengan keamanan server-side proxy, stampede-proof caching, 5 mode autentikasi, dan tab khusus Nuxt DevTools.",[149,172,173,181],{"v-slot:links":135},[174,175,178],"u-button",{"size":176,"to":16,"trailing-icon":177},"xl","i-lucide-arrow-right",[157,179,180],{},"Mulai Sekarang",[174,182,188],{"size":176,"to":183,"color":184,"icon":185,"target":186,"variant":187},"https:\u002F\u002Fgithub.com\u002Fnarr07\u002Fnuxt-gsheet","neutral","i-simple-icons-github","_blank","outline",[157,189,190],{},"Gunakan Modul Ini",[192,193,196],"prose-pre",{"code":194,"filename":195},"export default defineNuxtConfig({\n  modules: ['nuxt-gsheet'],\n\n  gsheet: {\n    sheets: {\n      products: '1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms'\n    },\n    cache: {\n      enabled: true,\n      maxAge: 300\n    }\n  }\n})\n","nuxt.config.ts",[197,198,202],"pre",{"className":199,"code":200,"filename":195,"language":201,"meta":135,"style":135},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","export default defineNuxtConfig({\n  modules: ['nuxt-gsheet'],\n\n  gsheet: {\n    sheets: {\n      product: '1BxiMVs0XRA5nFMd****************************'\n    },\n    cache: {\n      enabled: true,\n      maxAge: 300\n    }\n  }\n})\n","ts",[203,204,205,228,256,263,274,284,301,307,317,331,343,349,355],"code",{"__ignoreMap":135},[160,206,209,213,216,220,224],{"class":207,"line":208},"line",1,[160,210,212],{"class":211},"s7zQu","export",[160,214,215],{"class":211}," default",[160,217,219],{"class":218},"s2Zo4"," defineNuxtConfig",[160,221,223],{"class":222},"sTEyZ","(",[160,225,227],{"class":226},"sMK4o","{\n",[160,229,231,235,238,241,244,248,250,253],{"class":207,"line":230},2,[160,232,234],{"class":233},"swJcz","  modules",[160,236,237],{"class":226},":",[160,239,240],{"class":222}," [",[160,242,243],{"class":226},"'",[160,245,247],{"class":246},"sfazB","nuxt-gsheet",[160,249,243],{"class":226},[160,251,252],{"class":222},"]",[160,254,255],{"class":226},",\n",[160,257,259],{"class":207,"line":258},3,[160,260,262],{"emptyLinePlaceholder":261},true,"\n",[160,264,266,269,271],{"class":207,"line":265},4,[160,267,268],{"class":233},"  gsheet",[160,270,237],{"class":226},[160,272,273],{"class":226}," {\n",[160,275,277,280,282],{"class":207,"line":276},5,[160,278,279],{"class":233},"    sheets",[160,281,237],{"class":226},[160,283,273],{"class":226},[160,285,287,290,292,295,298],{"class":207,"line":286},6,[160,288,289],{"class":233},"      product",[160,291,237],{"class":226},[160,293,294],{"class":226}," '",[160,296,297],{"class":246},"1BxiMVs0XRA5nFMd****************************",[160,299,300],{"class":226},"'\n",[160,302,304],{"class":207,"line":303},7,[160,305,306],{"class":226},"    },\n",[160,308,310,313,315],{"class":207,"line":309},8,[160,311,312],{"class":233},"    cache",[160,314,237],{"class":226},[160,316,273],{"class":226},[160,318,320,323,325,329],{"class":207,"line":319},9,[160,321,322],{"class":233},"      enabled",[160,324,237],{"class":226},[160,326,328],{"class":327},"sfNiH"," true",[160,330,255],{"class":226},[160,332,334,337,339],{"class":207,"line":333},10,[160,335,336],{"class":233},"      maxAge",[160,338,237],{"class":226},[160,340,342],{"class":341},"sbssI"," 300\n",[160,344,346],{"class":207,"line":345},11,[160,347,348],{"class":226},"    }\n",[160,350,352],{"class":207,"line":351},12,[160,353,354],{"class":226},"  }\n",[160,356,358,361],{"class":207,"line":357},13,[160,359,360],{"class":226},"}",[160,362,363],{"class":222},")\n",[365,366,369,374,379],"u-page-section",{"className":367},[368],"dark:bg-neutral-950",[149,370,371],{"v-slot:title":135},[157,372,373],{},"Fitur Utama",[149,375,376],{"v-slot:description":135},[157,377,378],{},"Menjaga Spreadsheet ID, API Key, dan token Service Account JWT tetap aman di sisi server tanpa pernah mengeksposnya ke client browser.",[380,381,382,398,411,424,447,460],"u-page-grid",{},[383,384,388,393],"u-page-card",{":spotlight":385,"icon":386,"spotlightColor":387,"variant":187},"true","i-lucide-shield-check","primary",[149,389,390],{"v-slot:title":135},[157,391,392],{},"Secure Server Proxy",[149,394,395],{"v-slot:description":135},[157,396,397],{},"Menjaga Spreadsheet ID, API Key, dan token Service Account JWT tetap aman di sisi server, tersembunyi dari client browser.",[383,399,401,406],{":spotlight":385,"icon":400,"spotlightColor":387,"variant":187},"i-lucide-bolt",[149,402,403],{"v-slot:title":135},[157,404,405],{},"5 Mode Autentikasi",[149,407,408],{"v-slot:description":135},[157,409,410],{},"Auto-detect Google Apps Script Web App, query GViz SQL, feed CSV, API Key, dan Service Account.",[383,412,414,419],{":spotlight":385,"icon":413,"spotlightColor":387,"variant":187},"i-lucide-cpu",[149,415,416],{"v-slot:title":135},[157,417,418],{},"Stampede Lock Protection",[149,420,421],{"v-slot:description":135},[157,422,423],{},"Mencegah error quota HTTP 429 dan tetap menyajikan stale cache saat terjadi gangguan jaringan upstream.",[383,425,427,432],{":spotlight":385,"icon":426,"spotlightColor":387,"variant":187},"i-lucide-braces",[149,428,429],{"v-slot:title":135},[157,430,431],{},"Type-Safe Composables",[149,433,434],{"v-slot:description":135},[157,435,436,437,439,440,439,442,439,444,446],{},"Vue composable yang ter-auto-import (",[203,438,33],{},", ",[203,441,37],{},[203,443,41],{},[203,445,45],{},").",[383,448,450,455],{":spotlight":385,"icon":449,"spotlightColor":387,"variant":187},"i-lucide-panel-top",[149,451,452],{"v-slot:title":135},[157,453,454],{},"Integrasi Nuxt DevTools",[149,456,457],{"v-slot:description":135},[157,458,459],{},"Tab DevTools khusus untuk memantau request API yang ter-intercept, rasio cache hit\u002Fmiss, dan estimasi penggunaan kuota.",[383,461,463,468],{":spotlight":385,"icon":462,"spotlightColor":387,"variant":187},"i-lucide-sparkles",[149,464,465],{"v-slot:title":135},[157,466,467],{},"AI-Native Agent Skills & MCP",[149,469,470],{"v-slot:description":135},[157,471,472],{},"Implementasi Agent Skills RFC bawaan dan endpoint live Model Context Protocol (MCP) server.",[365,474,476,481,486],{"className":475},[368],[149,477,478],{"v-slot:title":135},[157,479,480],{},"Mode Autentikasi Fleksibel",[149,482,483],{"v-slot:description":135},[157,484,485],{},"Deteksi otomatis untuk spreadsheet publik, privat, maupun arsitektur serverless.",[380,487,488,502,515,528,541],{},[489,490,492,497],"u-page-feature",{"icon":491,"to":59},"i-lucide-globe",[149,493,494],{"v-slot:title":135},[157,495,496],{},"GViz SQL Query",[149,498,499],{"v-slot:description":135},[157,500,501],{},"Query spreadsheet publik dengan sintaks SQL Google Visualization API untuk akses cepat berbasis read-only.",[489,503,505,510],{"icon":504,"to":63},"i-lucide-file-text",[149,506,507],{"v-slot:title":135},[157,508,509],{},"CSV Feeds",[149,511,512],{"v-slot:description":135},[157,513,514],{},"Fetch data CSV mentah dari spreadsheet publik tanpa perlu konfigurasi rumit dengan overhead minimal.",[489,516,518,523],{"icon":517,"to":67},"i-lucide-code",[149,519,520],{"v-slot:title":135},[157,521,522],{},"Apps Script Web Apps",[149,524,525],{"v-slot:description":135},[157,526,527],{},"Deploy endpoint Google Apps Script untuk operasi read dan write data privat dengan kontrol penuh.",[489,529,531,536],{"icon":530,"to":71},"i-lucide-key-round",[149,532,533],{"v-slot:title":135},[157,534,535],{},"API Key Access",[149,537,538],{"v-slot:description":135},[157,539,540],{},"Gunakan Google API Key untuk request server-side dengan jaminan API Key tetap tersembunyi dari browser.",[489,542,544,549],{"icon":543,"to":75},"i-lucide-lock",[149,545,546],{"v-slot:title":135},[157,547,548],{},"Service Account",[149,550,551],{"v-slot:description":135},[157,552,553],{},"Autentikasi menggunakan kredensial Service Account JWT untuk akses spreadsheet privat secara aman.",[365,555,559],{"className":556},[144,557,558],"from-neutral-950","to-neutral-900",[560,561,566],"u-page-c-t-a",{":links":562,"className":563,"description":564,"title":565},"[{\"label\":\"Mulai Membangun\",\"to\":\"\u002Fid\u002Fgetting-started\u002Fintroduction\",\"trailingIcon\":\"i-lucide-arrow-right\"},{\"label\":\"Lihat di GitHub\",\"to\":\"https:\u002F\u002Fgithub.com\u002Fnarr07\u002Fnarr07\u002Fnuxt-gsheet\",\"target\":\"_blank\",\"variant\":\"subtle\",\"icon\":\"i-simple-icons-github\"}]",[368],"Bergabunglah dengan para developer yang membangun aplikasi Nuxt menggunakan nuxt-gsheet. Install modulnya dan kirim karya terbaikmu hari ini.","Siap membangun aplikasi dengan Google Sheets?",[567,568],"stars-bg",{},[570,571,572],"style",{},"html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sfNiH, html code.shiki .sfNiH{--shiki-light:#FF5370;--shiki-default:#FF9CAC;--shiki-dark:#FF9CAC}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":135,"searchDepth":208,"depth":230,"links":574},[],"md",{},"\u002Fid\u002Fid",{"title":579,"description":580},"Nuxt Gsheet - Integrasi Google Sheets Zero-Config untuk Nuxt","Integrasi Google Sheets yang super cepat, zero-config, dan aman untuk Nuxt 3 dan 4 dengan perlindungan stampede lock, auto-detection 5 mode auth, dan dashboard DevTools.","id\u002Fid\u002Findex","rI1S23d_HTv1j9LVn_QPCVSKNMbWKoKhy502lDpJCTQ",1786088224727]