[{"data":1,"prerenderedAt":633},["ShallowReactive",2],{"navigation-id":3,"page-\u002Fid\u002Fgetting-started\u002Finstallation":133,"\u002Fid\u002Fgetting-started\u002Finstallation-surround":628},[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":19,"body":135,"description":622,"extension":623,"icon":624,"links":624,"meta":625,"navigation":624,"path":20,"seo":626,"stem":21,"__hash__":627},"docs_id\u002Fid\u002F1.getting-started\u002F2.installation.md",{"type":136,"value":137,"toc":607},"minimark",[138,147,152,158,250,254,267,412,416,426,435,447,458,469,472,481,488,491,505,512,519,538,551,555,561,568,583,603],[139,140,141,142,146],"p",{},"Mulai gunakan ",[143,144,145],"code",{},"nuxt-gsheet"," dengan menginstal package, mendaftarkan modul ke konfigurasi Nuxt, dan mengkonfigurasi environment variable.",[148,149,151],"h2",{"id":150},"instalasi-package","Instalasi Package",[139,153,154,155,157],{},"Tambahkan ",[143,156,145],{}," ke proyek kamu menggunakan package manager pilihanmu:",[159,160,161,192,207,221,236],"code-group",{},[162,163,169],"pre",{"className":164,"code":165,"filename":166,"language":167,"meta":168,"style":168},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","npx nuxt module add gsheet\n","npx","bash","",[143,170,171],{"__ignoreMap":168},[172,173,176,179,183,186,189],"span",{"class":174,"line":175},"line",1,[172,177,166],{"class":178},"sBMFI",[172,180,182],{"class":181},"sfazB"," nuxt",[172,184,185],{"class":181}," module",[172,187,188],{"class":181}," add",[172,190,191],{"class":181}," gsheet\n",[162,193,196],{"className":164,"code":194,"filename":195,"language":167,"meta":168,"style":168},"bun add nuxt-gsheet\n","bun",[143,197,198],{"__ignoreMap":168},[172,199,200,202,204],{"class":174,"line":175},[172,201,195],{"class":178},[172,203,188],{"class":181},[172,205,206],{"class":181}," nuxt-gsheet\n",[162,208,211],{"className":164,"code":209,"filename":210,"language":167,"meta":168,"style":168},"pnpm add nuxt-gsheet\n","pnpm",[143,212,213],{"__ignoreMap":168},[172,214,215,217,219],{"class":174,"line":175},[172,216,210],{"class":178},[172,218,188],{"class":181},[172,220,206],{"class":181},[162,222,225],{"className":164,"code":223,"filename":224,"language":167,"meta":168,"style":168},"npm install nuxt-gsheet\n","npm",[143,226,227],{"__ignoreMap":168},[172,228,229,231,234],{"class":174,"line":175},[172,230,224],{"class":178},[172,232,233],{"class":181}," install",[172,235,206],{"class":181},[162,237,240],{"className":164,"code":238,"filename":239,"language":167,"meta":168,"style":168},"yarn add nuxt-gsheet\n","yarn",[143,241,242],{"__ignoreMap":168},[172,243,244,246,248],{"class":174,"line":175},[172,245,239],{"class":178},[172,247,188],{"class":181},[172,249,206],{"class":181},[148,251,253],{"id":252},"mendaftarkan-modul","Mendaftarkan Modul",[139,255,154,256,258,259,262,263,266],{},[143,257,145],{}," ke dalam array ",[143,260,261],{},"modules"," di file ",[143,264,265],{},"nuxt.config.ts",":",[162,268,272],{"className":269,"code":270,"filename":265,"language":271,"meta":168,"style":168},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","export default defineNuxtConfig({\n  modules: [\n    'nuxt-gsheet'\n  ],\n\n  gsheet: {\n    \u002F\u002F Opsi default modul (opsional)\n    cache: {\n      enabled: true,\n      maxAge: 300 \u002F\u002F TTL cache 5 menit\n    }\n  }\n})\n","ts",[143,273,274,295,307,318,327,334,345,352,362,376,391,397,403],{"__ignoreMap":168},[172,275,276,280,283,287,291],{"class":174,"line":175},[172,277,279],{"class":278},"s7zQu","export",[172,281,282],{"class":278}," default",[172,284,286],{"class":285},"s2Zo4"," defineNuxtConfig",[172,288,290],{"class":289},"sTEyZ","(",[172,292,294],{"class":293},"sMK4o","{\n",[172,296,298,302,304],{"class":174,"line":297},2,[172,299,301],{"class":300},"swJcz","  modules",[172,303,266],{"class":293},[172,305,306],{"class":289}," [\n",[172,308,310,313,315],{"class":174,"line":309},3,[172,311,312],{"class":293},"    '",[172,314,145],{"class":181},[172,316,317],{"class":293},"'\n",[172,319,321,324],{"class":174,"line":320},4,[172,322,323],{"class":289},"  ]",[172,325,326],{"class":293},",\n",[172,328,330],{"class":174,"line":329},5,[172,331,333],{"emptyLinePlaceholder":332},true,"\n",[172,335,337,340,342],{"class":174,"line":336},6,[172,338,339],{"class":300},"  gsheet",[172,341,266],{"class":293},[172,343,344],{"class":293}," {\n",[172,346,348],{"class":174,"line":347},7,[172,349,351],{"class":350},"sHwdD","    \u002F\u002F Opsi default modul (opsional)\n",[172,353,355,358,360],{"class":174,"line":354},8,[172,356,357],{"class":300},"    cache",[172,359,266],{"class":293},[172,361,344],{"class":293},[172,363,365,368,370,374],{"class":174,"line":364},9,[172,366,367],{"class":300},"      enabled",[172,369,266],{"class":293},[172,371,373],{"class":372},"sfNiH"," true",[172,375,326],{"class":293},[172,377,379,382,384,388],{"class":174,"line":378},10,[172,380,381],{"class":300},"      maxAge",[172,383,266],{"class":293},[172,385,387],{"class":386},"sbssI"," 300",[172,389,390],{"class":350}," \u002F\u002F TTL cache 5 menit\n",[172,392,394],{"class":174,"line":393},11,[172,395,396],{"class":293},"    }\n",[172,398,400],{"class":174,"line":399},12,[172,401,402],{"class":293},"  }\n",[172,404,406,409],{"class":174,"line":405},13,[172,407,408],{"class":293},"}",[172,410,411],{"class":289},")\n",[148,413,415],{"id":414},"konfigurasi-environment","Konfigurasi Environment",[139,417,418,419,422,423,425],{},"Konfigurasikan kredensial Google Sheets atau pengaturan spreadsheet pada file ",[143,420,421],{},".env"," di root proyek kamu. ",[143,424,145],{}," secara otomatis mendeteksi mode autentikasi berdasarkan variabel lingkungan yang kamu definisikan di bawah ini.",[427,428,430,431,434],"h3",{"id":429},"opsi-1-mode-google-apps-script-appscript","Opsi 1: Mode Google Apps Script (",[143,432,433],{},"appscript",")",[139,436,437,438,442,443,446],{},"Gunakan Google Apps Script untuk me-proxy request tanpa perlu membuat kredensial Google Cloud Platform (GCP). Mendukung operasi ",[439,440,441],"strong",{},"Read"," dan ",[439,444,445],{},"Write",".",[162,448,452],{"className":449,"code":450,"filename":421,"language":451,"meta":168,"style":168},"language-env shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","GSHEET_APPSCRIPT_URL=https:\u002F\u002Fscript.google.com\u002Fmacros\u002Fs\u002FAKfycb...\u002Fexec\n","env",[143,453,454],{"__ignoreMap":168},[172,455,456],{"class":174,"line":175},[172,457,450],{},[427,459,461,462,465,466,434],{"id":460},"opsi-2-mode-spreadsheet-publik-gviz-atau-csv","Opsi 2: Mode Spreadsheet Publik (",[143,463,464],{},"gviz"," atau ",[143,467,468],{},"csv",[139,470,471],{},"Gunakan GViz atau ekspor CSV langsung untuk akses read-only pada spreadsheet publik tanpa konfigurasi rumit. Tidak memerlukan API key maupun kredensial GCP.",[162,473,475],{"className":449,"code":474,"filename":421,"language":451,"meta":168,"style":168},"GSHEET_SPREADSHEET_ID=spreadsheet-id-google-kamu\n",[143,476,477],{"__ignoreMap":168},[172,478,479],{"class":174,"line":175},[172,480,474],{},[427,482,484,485,434],{"id":483},"opsi-3-mode-api-key-apikey","Opsi 3: Mode API Key (",[143,486,487],{},"apikey",[139,489,490],{},"Gunakan Google Sheets API v4 standar untuk spreadsheet publik dengan kontrol kuota kustom.",[162,492,494],{"className":449,"code":493,"filename":421,"language":451,"meta":168,"style":168},"GSHEET_SPREADSHEET_ID=spreadsheet-id-google-kamu\nGSHEET_API_KEY=AIzaSy...\n",[143,495,496,500],{"__ignoreMap":168},[172,497,498],{"class":174,"line":175},[172,499,474],{},[172,501,502],{"class":174,"line":297},[172,503,504],{},"GSHEET_API_KEY=AIzaSy...\n",[427,506,508,509,434],{"id":507},"opsi-4-mode-service-account-service-account","Opsi 4: Mode Service Account (",[143,510,511],{},"service-account",[139,513,514,515,442,517,446],{},"Gunakan kredensial GCP Service Account untuk spreadsheet Google privat. Mendukung operasi ",[439,516,441],{},[439,518,445],{},[162,520,522],{"className":449,"code":521,"filename":421,"language":451,"meta":168,"style":168},"GSHEET_SPREADSHEET_ID=spreadsheet-id-google-kamu\nGSHEET_CLIENT_EMAIL=service-account-kamu@project-kamu.iam.gserviceaccount.com\nGSHEET_PRIVATE_KEY=\"-----BEGIN PRIVATE KEY-----\\nKUNCI_PRIVATE_KAMU_DI_SINI\\n-----END PRIVATE KEY-----\\n\"\n",[143,523,524,528,533],{"__ignoreMap":168},[172,525,526],{"class":174,"line":175},[172,527,474],{},[172,529,530],{"class":174,"line":297},[172,531,532],{},"GSHEET_CLIENT_EMAIL=service-account-kamu@project-kamu.iam.gserviceaccount.com\n",[172,534,535],{"class":174,"line":309},[172,536,537],{},"GSHEET_PRIVATE_KEY=\"-----BEGIN PRIVATE KEY-----\\nKUNCI_PRIVATE_KAMU_DI_SINI\\n-----END PRIVATE KEY-----\\n\"\n",[539,540,541],"important",{},[139,542,543,544,546,547,550],{},"Selalu simpan file ",[143,545,421],{}," kamu di ",[143,548,549],{},".gitignore",". Jangan pernah meng-commit private key atau kredensial API ke dalam vcs \u002F repository.",[148,552,554],{"id":553},"verifikasi-setup-kamu","Verifikasi Setup Kamu",[139,556,557,558,560],{},"Untuk memastikan ",[143,559,145],{}," telah terpasang dengan benar:",[562,563,564],"ol",{},[565,566,567],"li",{},"Jalankan development server Nuxt lokal kamu:",[162,569,571],{"className":164,"code":570,"language":167,"meta":168,"style":168},"bun run dev\n",[143,572,573],{"__ignoreMap":168},[172,574,575,577,580],{"class":174,"line":175},[172,576,195],{"class":178},[172,578,579],{"class":181}," run",[172,581,582],{"class":181}," dev\n",[562,584,585,596],{"start":297},[565,586,587,588,591,592,595],{},"Buka browser dan jalankan ",[439,589,590],{},"Nuxt DevTools"," (",[143,593,594],{},"Shift + Alt + D"," atau klik ikon Nuxt di bagian bawah layar).",[565,597,598,599,602],{},"Cari tab ",[439,600,601],{},"Google Sheets"," pada menu DevTools. Jika muncul, modul berhasil dimuat dengan sempurna.",[604,605,606],"style",{},"html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}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);}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 .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}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}",{"title":168,"searchDepth":175,"depth":297,"links":608},[609,610,611,621],{"id":150,"depth":297,"text":151},{"id":252,"depth":297,"text":253},{"id":414,"depth":297,"text":415,"children":612},[613,615,617,619],{"id":429,"depth":309,"text":614},"Opsi 1: Mode Google Apps Script (appscript)",{"id":460,"depth":309,"text":616},"Opsi 2: Mode Spreadsheet Publik (gviz atau csv)",{"id":483,"depth":309,"text":618},"Opsi 3: Mode API Key (apikey)",{"id":507,"depth":309,"text":620},"Opsi 4: Mode Service Account (service-account)",{"id":553,"depth":297,"text":554},"Pasang package nuxt-gsheet, daftarkan modul, dan atur environment variable.","md",null,{},{"title":19,"description":622},"WXVvDvlHx_XqTjDl_cCk9aqk-K8huDDqKueNX2RhLDo",[629,631],{"title":15,"path":16,"stem":17,"description":630,"children":-1},"Gambaran umum arsitektur nuxt-gsheet, fitur utama, dan keunggulannya.",{"title":23,"path":24,"stem":25,"description":632,"children":-1},"Referensi lengkap untuk opsi modul di nuxt.config.ts, tipe TypeScript, dan peta routing sheet.",1786088232240]