[{"data":1,"prerenderedAt":771},["ShallowReactive",2],{"navigation-id":3,"page-\u002Fid\u002Ftutorials\u002Fapikey-tutorial":133,"\u002Fid\u002Ftutorials\u002Fapikey-tutorial-surround":766},[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":122,"body":135,"description":760,"extension":761,"icon":762,"links":762,"meta":763,"navigation":762,"path":123,"seo":764,"stem":124,"__hash__":765},"docs_id\u002Fid\u002F6.tutorials\u002F4.apikey-tutorial.md",{"type":136,"value":137,"toc":756},"minimark",[138,147,150,155,196,219,221,225,752],[139,140,141,142,146],"p",{},"Pelajari cara menghubungkan ",[143,144,145],"code",{},"nuxt-gsheet"," dengan Google Sheets API v4 standar menggunakan GCP API Key.",[148,149],"hr",{},[151,152,154],"h2",{"id":153},"_1-setup-google-cloud-console","1. Setup Google Cloud Console",[156,157,158,170,177,189],"ol",{},[159,160,161,162,169],"li",{},"Buka ",[163,164,168],"a",{"href":165,"rel":166},"https:\u002F\u002Fconsole.cloud.google.com",[167],"nofollow","Google Cloud Console",".",[159,171,172,173,169],{},"Buat proyek baru -> Aktifkan ",[174,175,176],"strong",{},"Google Sheets API",[159,178,161,179,182,183,182,186,169],{},[174,180,181],{},"Credentials"," -> ",[174,184,185],{},"+ Create Credentials",[174,187,188],{},"API Key",[159,190,191,192,195],{},"Konfigurasikan file ",[143,193,194],{},".env",":",[197,198,203],"pre",{"className":199,"code":200,"filename":194,"language":201,"meta":202,"style":202},"language-env shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","GSHEET_SPREADSHEET_ID=1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms\nGSHEET_API_KEY=AIzaSyD-GOOGLE-API-KEY-KAMU\n","env","",[143,204,205,213],{"__ignoreMap":202},[206,207,210],"span",{"class":208,"line":209},"line",1,[206,211,212],{},"GSHEET_SPREADSHEET_ID=1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms\n",[206,214,216],{"class":208,"line":215},2,[206,217,218],{},"GSHEET_API_KEY=AIzaSyD-GOOGLE-API-KEY-KAMU\n",[148,220],{},[151,222,224],{"id":223},"_2-implementasi-komponen-vue","2. Implementasi Komponen Vue",[197,226,231],{"className":227,"code":228,"filename":229,"language":230,"meta":202,"style":202},"language-vue shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u003Cscript setup lang=\"ts\">\ninterface InventoryItem {\n  sku: string\n  name: string\n  stock: string\n  location: string\n}\n\nconst { data: stockItems, pending, error } = await useGSheetAsObject\u003CInventoryItem[]>('A1:D50', {\n  sheet: 'inventory'\n})\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cdiv class=\"inventory-container\">\n    \u003Ch1>Pelacak Inventaris Gudang\u003C\u002Fh1>\n\n    \u003Cdiv v-if=\"error\">\n      API Key Error: {{ error.message }}\n    \u003C\u002Fdiv>\n    \u003Cdiv v-else-if=\"pending\">\n      Menghubungkan ke Google Sheets API v4...\n    \u003C\u002Fdiv>\n    \u003Cdiv v-else>\n      \u003Cdiv\n        v-for=\"item in stockItems\"\n        :key=\"item.sku\"\n        class=\"stock-card\"\n      >\n        \u003Ch3>{{ item.name }} (SKU: {{ item.sku }})\u003C\u002Fh3>\n        \u003Cp>Stok Saat Ini: \u003Cstrong>{{ item.stock }}\u003C\u002Fstrong>\u003C\u002Fp>\n        \u003Cspan>Lokasi Rak: {{ item.location }}\u003C\u002Fspan>\n      \u003C\u002Fdiv>\n    \u003C\u002Fdiv>\n  \u003C\u002Fdiv>\n\u003C\u002Ftemplate>\n","pages\u002Finventory.vue","vue",[143,232,233,265,277,288,298,308,318,324,331,400,417,425,435,440,450,473,493,498,519,525,535,556,562,571,583,592,608,623,638,644,664,696,714,724,733,743],{"__ignoreMap":202},[206,234,235,239,243,247,250,253,256,260,262],{"class":208,"line":209},[206,236,238],{"class":237},"sMK4o","\u003C",[206,240,242],{"class":241},"swJcz","script",[206,244,246],{"class":245},"spNyl"," setup",[206,248,249],{"class":245}," lang",[206,251,252],{"class":237},"=",[206,254,255],{"class":237},"\"",[206,257,259],{"class":258},"sfazB","ts",[206,261,255],{"class":237},[206,263,264],{"class":237},">\n",[206,266,267,270,274],{"class":208,"line":215},[206,268,269],{"class":245},"interface",[206,271,273],{"class":272},"sBMFI"," InventoryItem",[206,275,276],{"class":237}," {\n",[206,278,280,283,285],{"class":208,"line":279},3,[206,281,282],{"class":241},"  sku",[206,284,195],{"class":237},[206,286,287],{"class":272}," string\n",[206,289,291,294,296],{"class":208,"line":290},4,[206,292,293],{"class":241},"  name",[206,295,195],{"class":237},[206,297,287],{"class":272},[206,299,301,304,306],{"class":208,"line":300},5,[206,302,303],{"class":241},"  stock",[206,305,195],{"class":237},[206,307,287],{"class":272},[206,309,311,314,316],{"class":208,"line":310},6,[206,312,313],{"class":241},"  location",[206,315,195],{"class":237},[206,317,287],{"class":272},[206,319,321],{"class":208,"line":320},7,[206,322,323],{"class":237},"}\n",[206,325,327],{"class":208,"line":326},8,[206,328,330],{"emptyLinePlaceholder":329},true,"\n",[206,332,334,337,340,343,345,349,352,355,357,360,363,366,370,374,376,379,382,385,388,391,394,396,398],{"class":208,"line":333},9,[206,335,336],{"class":245},"const",[206,338,339],{"class":237}," {",[206,341,342],{"class":241}," data",[206,344,195],{"class":237},[206,346,348],{"class":347},"sTEyZ"," stockItems",[206,350,351],{"class":237},",",[206,353,354],{"class":347}," pending",[206,356,351],{"class":237},[206,358,359],{"class":347}," error ",[206,361,362],{"class":237},"}",[206,364,365],{"class":237}," =",[206,367,369],{"class":368},"s7zQu"," await",[206,371,373],{"class":372},"s2Zo4"," useGSheetAsObject",[206,375,238],{"class":237},[206,377,378],{"class":272},"InventoryItem",[206,380,381],{"class":347},"[]",[206,383,384],{"class":237},">",[206,386,387],{"class":347},"(",[206,389,390],{"class":237},"'",[206,392,393],{"class":258},"A1:D50",[206,395,390],{"class":237},[206,397,351],{"class":237},[206,399,276],{"class":237},[206,401,403,406,408,411,414],{"class":208,"line":402},10,[206,404,405],{"class":241},"  sheet",[206,407,195],{"class":237},[206,409,410],{"class":237}," '",[206,412,413],{"class":258},"inventory",[206,415,416],{"class":237},"'\n",[206,418,420,422],{"class":208,"line":419},11,[206,421,362],{"class":237},[206,423,424],{"class":347},")\n",[206,426,428,431,433],{"class":208,"line":427},12,[206,429,430],{"class":237},"\u003C\u002F",[206,432,242],{"class":241},[206,434,264],{"class":237},[206,436,438],{"class":208,"line":437},13,[206,439,330],{"emptyLinePlaceholder":329},[206,441,443,445,448],{"class":208,"line":442},14,[206,444,238],{"class":237},[206,446,447],{"class":241},"template",[206,449,264],{"class":237},[206,451,453,456,459,462,464,466,469,471],{"class":208,"line":452},15,[206,454,455],{"class":237},"  \u003C",[206,457,458],{"class":241},"div",[206,460,461],{"class":245}," class",[206,463,252],{"class":237},[206,465,255],{"class":237},[206,467,468],{"class":258},"inventory-container",[206,470,255],{"class":237},[206,472,264],{"class":237},[206,474,476,479,482,484,487,489,491],{"class":208,"line":475},16,[206,477,478],{"class":237},"    \u003C",[206,480,481],{"class":241},"h1",[206,483,384],{"class":237},[206,485,486],{"class":347},"Pelacak Inventaris Gudang",[206,488,430],{"class":237},[206,490,481],{"class":241},[206,492,264],{"class":237},[206,494,496],{"class":208,"line":495},17,[206,497,330],{"emptyLinePlaceholder":329},[206,499,501,503,505,508,510,512,515,517],{"class":208,"line":500},18,[206,502,478],{"class":237},[206,504,458],{"class":241},[206,506,507],{"class":245}," v-if",[206,509,252],{"class":237},[206,511,255],{"class":237},[206,513,514],{"class":258},"error",[206,516,255],{"class":237},[206,518,264],{"class":237},[206,520,522],{"class":208,"line":521},19,[206,523,524],{"class":347},"      API Key Error: {{ error.message }}\n",[206,526,528,531,533],{"class":208,"line":527},20,[206,529,530],{"class":237},"    \u003C\u002F",[206,532,458],{"class":241},[206,534,264],{"class":237},[206,536,538,540,542,545,547,549,552,554],{"class":208,"line":537},21,[206,539,478],{"class":237},[206,541,458],{"class":241},[206,543,544],{"class":245}," v-else-if",[206,546,252],{"class":237},[206,548,255],{"class":237},[206,550,551],{"class":258},"pending",[206,553,255],{"class":237},[206,555,264],{"class":237},[206,557,559],{"class":208,"line":558},22,[206,560,561],{"class":347},"      Menghubungkan ke Google Sheets API v4...\n",[206,563,565,567,569],{"class":208,"line":564},23,[206,566,530],{"class":237},[206,568,458],{"class":241},[206,570,264],{"class":237},[206,572,574,576,578,581],{"class":208,"line":573},24,[206,575,478],{"class":237},[206,577,458],{"class":241},[206,579,580],{"class":245}," v-else",[206,582,264],{"class":237},[206,584,586,589],{"class":208,"line":585},25,[206,587,588],{"class":237},"      \u003C",[206,590,591],{"class":241},"div\n",[206,593,595,598,600,602,605],{"class":208,"line":594},26,[206,596,597],{"class":245},"        v-for",[206,599,252],{"class":237},[206,601,255],{"class":237},[206,603,604],{"class":258},"item in stockItems",[206,606,607],{"class":237},"\"\n",[206,609,611,614,616,618,621],{"class":208,"line":610},27,[206,612,613],{"class":245},"        :key",[206,615,252],{"class":237},[206,617,255],{"class":237},[206,619,620],{"class":258},"item.sku",[206,622,607],{"class":237},[206,624,626,629,631,633,636],{"class":208,"line":625},28,[206,627,628],{"class":245},"        class",[206,630,252],{"class":237},[206,632,255],{"class":237},[206,634,635],{"class":258},"stock-card",[206,637,607],{"class":237},[206,639,641],{"class":208,"line":640},29,[206,642,643],{"class":237},"      >\n",[206,645,647,650,653,655,658,660,662],{"class":208,"line":646},30,[206,648,649],{"class":237},"        \u003C",[206,651,652],{"class":241},"h3",[206,654,384],{"class":237},[206,656,657],{"class":347},"{{ item.name }} (SKU: {{ item.sku }})",[206,659,430],{"class":237},[206,661,652],{"class":241},[206,663,264],{"class":237},[206,665,667,669,671,673,676,678,680,682,685,687,689,692,694],{"class":208,"line":666},31,[206,668,649],{"class":237},[206,670,139],{"class":241},[206,672,384],{"class":237},[206,674,675],{"class":347},"Stok Saat Ini: ",[206,677,238],{"class":237},[206,679,174],{"class":241},[206,681,384],{"class":237},[206,683,684],{"class":347},"{{ item.stock }}",[206,686,430],{"class":237},[206,688,174],{"class":241},[206,690,691],{"class":237},">\u003C\u002F",[206,693,139],{"class":241},[206,695,264],{"class":237},[206,697,699,701,703,705,708,710,712],{"class":208,"line":698},32,[206,700,649],{"class":237},[206,702,206],{"class":241},[206,704,384],{"class":237},[206,706,707],{"class":347},"Lokasi Rak: {{ item.location }}",[206,709,430],{"class":237},[206,711,206],{"class":241},[206,713,264],{"class":237},[206,715,717,720,722],{"class":208,"line":716},33,[206,718,719],{"class":237},"      \u003C\u002F",[206,721,458],{"class":241},[206,723,264],{"class":237},[206,725,727,729,731],{"class":208,"line":726},34,[206,728,530],{"class":237},[206,730,458],{"class":241},[206,732,264],{"class":237},[206,734,736,739,741],{"class":208,"line":735},35,[206,737,738],{"class":237},"  \u003C\u002F",[206,740,458],{"class":241},[206,742,264],{"class":237},[206,744,746,748,750],{"class":208,"line":745},36,[206,747,430],{"class":237},[206,749,447],{"class":241},[206,751,264],{"class":237},[753,754,755],"style",{},"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 .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 .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}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}",{"title":202,"searchDepth":209,"depth":215,"links":757},[758,759],{"id":153,"depth":215,"text":154},{"id":223,"depth":215,"text":224},"Bangun sistem pelacak stok & inventaris publik menggunakan GCP API Key.","md",null,{},{"title":122,"description":760},"JBiF2G9VdPUmg-d0ymcjY5nO_6s9VbW9M0UiVCZqhrY",[767,769],{"title":118,"path":119,"stem":120,"description":768,"children":-1},"Bangun katalog produk e-commerce menggunakan stream ekspor CSV langsung.",{"title":126,"path":127,"stem":128,"description":770,"children":-1},"Bangun aplikasi manajemen HR enterprise yang aman dan privat menggunakan kredensial Service Account.",1786088234870]