[{"data":1,"prerenderedAt":772},["ShallowReactive",2],{"navigation-en":3,"page-\u002Fen\u002Ftutorials\u002Fapikey-tutorial":134,"\u002Fen\u002Ftutorials\u002Fapikey-tutorial-surround":767},[4],{"title":5,"path":6,"stem":7,"children":8,"page":26},"En","\u002Fen","en",[9,27,48,77,90,97],{"title":10,"path":11,"stem":12,"children":13,"page":26},"Getting Started","\u002Fen\u002Fgetting-started","en\u002F1.getting-started",[14,18,22],{"title":15,"path":16,"stem":17},"Introduction","\u002Fen\u002Fgetting-started\u002Fintroduction","en\u002F1.getting-started\u002F1.introduction",{"title":19,"path":20,"stem":21},"Installation","\u002Fen\u002Fgetting-started\u002Finstallation","en\u002F1.getting-started\u002F2.installation",{"title":23,"path":24,"stem":25},"Configuration Reference","\u002Fen\u002Fgetting-started\u002Fconfiguration","en\u002F1.getting-started\u002F3.configuration",false,{"title":28,"path":29,"stem":30,"children":31,"page":26},"Composables","\u002Fen\u002Fcomposables","en\u002F2.composables",[32,36,40,44],{"title":33,"path":34,"stem":35},"useGSheet","\u002Fen\u002Fcomposables\u002Fuse-gsheet","en\u002F2.composables\u002F1.use-gsheet",{"title":37,"path":38,"stem":39},"useGSheetAsObject","\u002Fen\u002Fcomposables\u002Fuse-gsheet-as-object","en\u002F2.composables\u002F2.use-gsheet-as-object",{"title":41,"path":42,"stem":43},"useGSheetRow","\u002Fen\u002Fcomposables\u002Fuse-gsheet-row","en\u002F2.composables\u002F3.use-gsheet-row",{"title":45,"path":46,"stem":47},"useGSheetWrite","\u002Fen\u002Fcomposables\u002Fuse-gsheet-write","en\u002F2.composables\u002F4.use-gsheet-write",{"title":49,"path":50,"stem":51,"children":52,"page":26},"Authentication Modes","\u002Fen\u002Fauth-modes","en\u002F3.auth-modes",[53,57,61,65,69,73],{"title":54,"path":55,"stem":56},"Authentication Modes Overview","\u002Fen\u002Fauth-modes\u002Foverview","en\u002F3.auth-modes\u002F1.overview",{"title":58,"path":59,"stem":60},"GViz Mode (Google Visualization API)","\u002Fen\u002Fauth-modes\u002Fgviz","en\u002F3.auth-modes\u002F2.gviz",{"title":62,"path":63,"stem":64},"CSV Export Mode","\u002Fen\u002Fauth-modes\u002Fcsv","en\u002F3.auth-modes\u002F3.csv",{"title":66,"path":67,"stem":68},"Google Apps Script Mode","\u002Fen\u002Fauth-modes\u002Fappscript","en\u002F3.auth-modes\u002F4.appscript",{"title":70,"path":71,"stem":72},"API Key Mode","\u002Fen\u002Fauth-modes\u002Fapikey","en\u002F3.auth-modes\u002F5.apikey",{"title":74,"path":75,"stem":76},"Service Account Mode","\u002Fen\u002Fauth-modes\u002Fservice-account","en\u002F3.auth-modes\u002F6.service-account",{"title":78,"path":79,"stem":80,"children":81,"page":26},"AI","\u002Fen\u002Fai","en\u002F4.ai",[82,86],{"title":83,"path":84,"stem":85},"Agent Skills (AI Integration)","\u002Fen\u002Fai\u002Fagent-skills","en\u002F4.ai\u002F1.agent-skills",{"title":87,"path":88,"stem":89},"Model Context Protocol (MCP)","\u002Fen\u002Fai\u002Fmcp","en\u002F4.ai\u002F2.mcp",{"title":91,"path":92,"stem":93,"children":94},"Demos","\u002Fen\u002Fdemos","en\u002F5.demos\u002Findex",[95],{"title":96,"path":92,"stem":93},"Live Demos",{"title":98,"path":99,"stem":100,"children":101,"page":26},"Tutorials","\u002Fen\u002Ftutorials","en\u002F6.tutorials",[102,106,110,114,118,122,126,130],{"title":103,"path":104,"stem":105},"Tutorials Overview","\u002Fen\u002Ftutorials\u002Foverview","en\u002F6.tutorials\u002F0.overview",{"title":107,"path":108,"stem":109},"Apps Script Web App Tutorial","\u002Fen\u002Ftutorials\u002Fappscript-tutorial","en\u002F6.tutorials\u002F1.appscript-tutorial",{"title":111,"path":112,"stem":113},"Complete Step-by-Step Tutorial","\u002Fen\u002Ftutorials\u002Fstep-by-step","en\u002F6.tutorials\u002F1.step-by-step",{"title":115,"path":116,"stem":117},"GViz SQL Analytics Tutorial","\u002Fen\u002Ftutorials\u002Fgviz-sql-tutorial","en\u002F6.tutorials\u002F2.gviz-sql-tutorial",{"title":119,"path":120,"stem":121},"CSV Product Catalog Tutorial","\u002Fen\u002Ftutorials\u002Fcsv-catalog-tutorial","en\u002F6.tutorials\u002F3.csv-catalog-tutorial",{"title":123,"path":124,"stem":125},"API Key Inventory Tutorial","\u002Fen\u002Ftutorials\u002Fapikey-tutorial","en\u002F6.tutorials\u002F4.apikey-tutorial",{"title":127,"path":128,"stem":129},"Service Account HR & Payroll Tutorial","\u002Fen\u002Ftutorials\u002Fservice-account-tutorial","en\u002F6.tutorials\u002F5.service-account-tutorial",{"title":131,"path":132,"stem":133},"Sheet Routing Map Tutorial","\u002Fen\u002Ftutorials\u002Fsheets-routing-tutorial","en\u002F6.tutorials\u002F6.sheets-routing-tutorial",{"id":135,"title":123,"body":136,"description":761,"extension":762,"icon":763,"links":763,"meta":764,"navigation":763,"path":124,"seo":765,"stem":125,"__hash__":766},"docs_en\u002Fen\u002F6.tutorials\u002F4.apikey-tutorial.md",{"type":137,"value":138,"toc":757},"minimark",[139,148,151,156,197,220,222,226,753],[140,141,142,143,147],"p",{},"Learn how to connect ",[144,145,146],"code",{},"nuxt-gsheet"," with standard Google Sheets API v4 using a GCP API Key.",[149,150],"hr",{},[152,153,155],"h2",{"id":154},"_1-google-cloud-console-setup","1. Google Cloud Console Setup",[157,158,159,171,178,190],"ol",{},[160,161,162,163,170],"li",{},"Go to ",[164,165,169],"a",{"href":166,"rel":167},"https:\u002F\u002Fconsole.cloud.google.com",[168],"nofollow","Google Cloud Console",".",[160,172,173,174,170],{},"Create project -> Enable ",[175,176,177],"strong",{},"Google Sheets API",[160,179,162,180,183,184,183,187,170],{},[175,181,182],{},"Credentials"," -> ",[175,185,186],{},"+ Create Credentials",[175,188,189],{},"API Key",[160,191,192,193,196],{},"Configure ",[144,194,195],{},".env",":",[198,199,204],"pre",{"className":200,"code":201,"filename":195,"language":202,"meta":203,"style":203},"language-env shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","GSHEET_SPREADSHEET_ID=1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms\nGSHEET_API_KEY=AIzaSyD-YOUR-GOOGLE-API-KEY\n","env","",[144,205,206,214],{"__ignoreMap":203},[207,208,211],"span",{"class":209,"line":210},"line",1,[207,212,213],{},"GSHEET_SPREADSHEET_ID=1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms\n",[207,215,217],{"class":209,"line":216},2,[207,218,219],{},"GSHEET_API_KEY=AIzaSyD-YOUR-GOOGLE-API-KEY\n",[149,221],{},[152,223,225],{"id":224},"_2-vue-component-implementation","2. Vue Component Implementation",[198,227,232],{"className":228,"code":229,"filename":230,"language":231,"meta":203,"style":203},"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>Warehouse Inventory Tracker\u003C\u002Fh1>\n\n    \u003Cdiv v-if=\"error\">\n      API Key Error: {{ error.message }}\n    \u003C\u002Fdiv>\n    \u003Cdiv v-else-if=\"pending\">\n      Connecting to 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>Current Stock: \u003Cstrong>{{ item.stock }}\u003C\u002Fstrong>\u003C\u002Fp>\n        \u003Cspan>Aisle Location: {{ item.location }}\u003C\u002Fspan>\n      \u003C\u002Fdiv>\n    \u003C\u002Fdiv>\n  \u003C\u002Fdiv>\n\u003C\u002Ftemplate>\n","pages\u002Finventory.vue","vue",[144,233,234,266,278,289,299,309,319,325,332,401,418,426,436,441,451,474,494,499,520,526,536,557,563,572,584,593,609,624,639,645,665,697,715,725,734,744],{"__ignoreMap":203},[207,235,236,240,244,248,251,254,257,261,263],{"class":209,"line":210},[207,237,239],{"class":238},"sMK4o","\u003C",[207,241,243],{"class":242},"swJcz","script",[207,245,247],{"class":246},"spNyl"," setup",[207,249,250],{"class":246}," lang",[207,252,253],{"class":238},"=",[207,255,256],{"class":238},"\"",[207,258,260],{"class":259},"sfazB","ts",[207,262,256],{"class":238},[207,264,265],{"class":238},">\n",[207,267,268,271,275],{"class":209,"line":216},[207,269,270],{"class":246},"interface",[207,272,274],{"class":273},"sBMFI"," InventoryItem",[207,276,277],{"class":238}," {\n",[207,279,281,284,286],{"class":209,"line":280},3,[207,282,283],{"class":242},"  sku",[207,285,196],{"class":238},[207,287,288],{"class":273}," string\n",[207,290,292,295,297],{"class":209,"line":291},4,[207,293,294],{"class":242},"  name",[207,296,196],{"class":238},[207,298,288],{"class":273},[207,300,302,305,307],{"class":209,"line":301},5,[207,303,304],{"class":242},"  stock",[207,306,196],{"class":238},[207,308,288],{"class":273},[207,310,312,315,317],{"class":209,"line":311},6,[207,313,314],{"class":242},"  location",[207,316,196],{"class":238},[207,318,288],{"class":273},[207,320,322],{"class":209,"line":321},7,[207,323,324],{"class":238},"}\n",[207,326,328],{"class":209,"line":327},8,[207,329,331],{"emptyLinePlaceholder":330},true,"\n",[207,333,335,338,341,344,346,350,353,356,358,361,364,367,371,375,377,380,383,386,389,392,395,397,399],{"class":209,"line":334},9,[207,336,337],{"class":246},"const",[207,339,340],{"class":238}," {",[207,342,343],{"class":242}," data",[207,345,196],{"class":238},[207,347,349],{"class":348},"sTEyZ"," stockItems",[207,351,352],{"class":238},",",[207,354,355],{"class":348}," pending",[207,357,352],{"class":238},[207,359,360],{"class":348}," error ",[207,362,363],{"class":238},"}",[207,365,366],{"class":238}," =",[207,368,370],{"class":369},"s7zQu"," await",[207,372,374],{"class":373},"s2Zo4"," useGSheetAsObject",[207,376,239],{"class":238},[207,378,379],{"class":273},"InventoryItem",[207,381,382],{"class":348},"[]",[207,384,385],{"class":238},">",[207,387,388],{"class":348},"(",[207,390,391],{"class":238},"'",[207,393,394],{"class":259},"A1:D50",[207,396,391],{"class":238},[207,398,352],{"class":238},[207,400,277],{"class":238},[207,402,404,407,409,412,415],{"class":209,"line":403},10,[207,405,406],{"class":242},"  sheet",[207,408,196],{"class":238},[207,410,411],{"class":238}," '",[207,413,414],{"class":259},"inventory",[207,416,417],{"class":238},"'\n",[207,419,421,423],{"class":209,"line":420},11,[207,422,363],{"class":238},[207,424,425],{"class":348},")\n",[207,427,429,432,434],{"class":209,"line":428},12,[207,430,431],{"class":238},"\u003C\u002F",[207,433,243],{"class":242},[207,435,265],{"class":238},[207,437,439],{"class":209,"line":438},13,[207,440,331],{"emptyLinePlaceholder":330},[207,442,444,446,449],{"class":209,"line":443},14,[207,445,239],{"class":238},[207,447,448],{"class":242},"template",[207,450,265],{"class":238},[207,452,454,457,460,463,465,467,470,472],{"class":209,"line":453},15,[207,455,456],{"class":238},"  \u003C",[207,458,459],{"class":242},"div",[207,461,462],{"class":246}," class",[207,464,253],{"class":238},[207,466,256],{"class":238},[207,468,469],{"class":259},"inventory-container",[207,471,256],{"class":238},[207,473,265],{"class":238},[207,475,477,480,483,485,488,490,492],{"class":209,"line":476},16,[207,478,479],{"class":238},"    \u003C",[207,481,482],{"class":242},"h1",[207,484,385],{"class":238},[207,486,487],{"class":348},"Warehouse Inventory Tracker",[207,489,431],{"class":238},[207,491,482],{"class":242},[207,493,265],{"class":238},[207,495,497],{"class":209,"line":496},17,[207,498,331],{"emptyLinePlaceholder":330},[207,500,502,504,506,509,511,513,516,518],{"class":209,"line":501},18,[207,503,479],{"class":238},[207,505,459],{"class":242},[207,507,508],{"class":246}," v-if",[207,510,253],{"class":238},[207,512,256],{"class":238},[207,514,515],{"class":259},"error",[207,517,256],{"class":238},[207,519,265],{"class":238},[207,521,523],{"class":209,"line":522},19,[207,524,525],{"class":348},"      API Key Error: {{ error.message }}\n",[207,527,529,532,534],{"class":209,"line":528},20,[207,530,531],{"class":238},"    \u003C\u002F",[207,533,459],{"class":242},[207,535,265],{"class":238},[207,537,539,541,543,546,548,550,553,555],{"class":209,"line":538},21,[207,540,479],{"class":238},[207,542,459],{"class":242},[207,544,545],{"class":246}," v-else-if",[207,547,253],{"class":238},[207,549,256],{"class":238},[207,551,552],{"class":259},"pending",[207,554,256],{"class":238},[207,556,265],{"class":238},[207,558,560],{"class":209,"line":559},22,[207,561,562],{"class":348},"      Connecting to Google Sheets API v4...\n",[207,564,566,568,570],{"class":209,"line":565},23,[207,567,531],{"class":238},[207,569,459],{"class":242},[207,571,265],{"class":238},[207,573,575,577,579,582],{"class":209,"line":574},24,[207,576,479],{"class":238},[207,578,459],{"class":242},[207,580,581],{"class":246}," v-else",[207,583,265],{"class":238},[207,585,587,590],{"class":209,"line":586},25,[207,588,589],{"class":238},"      \u003C",[207,591,592],{"class":242},"div\n",[207,594,596,599,601,603,606],{"class":209,"line":595},26,[207,597,598],{"class":246},"        v-for",[207,600,253],{"class":238},[207,602,256],{"class":238},[207,604,605],{"class":259},"item in stockItems",[207,607,608],{"class":238},"\"\n",[207,610,612,615,617,619,622],{"class":209,"line":611},27,[207,613,614],{"class":246},"        :key",[207,616,253],{"class":238},[207,618,256],{"class":238},[207,620,621],{"class":259},"item.sku",[207,623,608],{"class":238},[207,625,627,630,632,634,637],{"class":209,"line":626},28,[207,628,629],{"class":246},"        class",[207,631,253],{"class":238},[207,633,256],{"class":238},[207,635,636],{"class":259},"stock-card",[207,638,608],{"class":238},[207,640,642],{"class":209,"line":641},29,[207,643,644],{"class":238},"      >\n",[207,646,648,651,654,656,659,661,663],{"class":209,"line":647},30,[207,649,650],{"class":238},"        \u003C",[207,652,653],{"class":242},"h3",[207,655,385],{"class":238},[207,657,658],{"class":348},"{{ item.name }} (SKU: {{ item.sku }})",[207,660,431],{"class":238},[207,662,653],{"class":242},[207,664,265],{"class":238},[207,666,668,670,672,674,677,679,681,683,686,688,690,693,695],{"class":209,"line":667},31,[207,669,650],{"class":238},[207,671,140],{"class":242},[207,673,385],{"class":238},[207,675,676],{"class":348},"Current Stock: ",[207,678,239],{"class":238},[207,680,175],{"class":242},[207,682,385],{"class":238},[207,684,685],{"class":348},"{{ item.stock }}",[207,687,431],{"class":238},[207,689,175],{"class":242},[207,691,692],{"class":238},">\u003C\u002F",[207,694,140],{"class":242},[207,696,265],{"class":238},[207,698,700,702,704,706,709,711,713],{"class":209,"line":699},32,[207,701,650],{"class":238},[207,703,207],{"class":242},[207,705,385],{"class":238},[207,707,708],{"class":348},"Aisle Location: {{ item.location }}",[207,710,431],{"class":238},[207,712,207],{"class":242},[207,714,265],{"class":238},[207,716,718,721,723],{"class":209,"line":717},33,[207,719,720],{"class":238},"      \u003C\u002F",[207,722,459],{"class":242},[207,724,265],{"class":238},[207,726,728,730,732],{"class":209,"line":727},34,[207,729,531],{"class":238},[207,731,459],{"class":242},[207,733,265],{"class":238},[207,735,737,740,742],{"class":209,"line":736},35,[207,738,739],{"class":238},"  \u003C\u002F",[207,741,459],{"class":242},[207,743,265],{"class":238},[207,745,747,749,751],{"class":209,"line":746},36,[207,748,431],{"class":238},[207,750,448],{"class":242},[207,752,265],{"class":238},[754,755,756],"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":203,"searchDepth":210,"depth":216,"links":758},[759,760],{"id":154,"depth":216,"text":155},{"id":224,"depth":216,"text":225},"Build a public stock & inventory tracking system using GCP API Key.","md",null,{},{"title":123,"description":761},"-SBmtIuA5Y3rHyODjBMt8Hmg9gMPV64QTaQz62UQGlk",[768,770],{"title":119,"path":120,"stem":121,"description":769,"children":-1},"Build an e-commerce product catalog using direct CSV export streams.",{"title":127,"path":128,"stem":129,"description":771,"children":-1},"Build a secure, private enterprise HR management app using Service Account credentials.",1786088231221]