[{"data":1,"prerenderedAt":398},["ShallowReactive",2],{"navigation-en":3,"page-\u002Fen\u002Fauth-modes\u002Foverview":134,"\u002Fen\u002Fauth-modes\u002Foverview-surround":393},[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":54,"body":136,"description":387,"extension":388,"icon":389,"links":389,"meta":390,"navigation":389,"path":55,"seo":391,"stem":56,"__hash__":392},"docs_en\u002Fen\u002F3.auth-modes\u002F1.overview.md",{"type":137,"value":138,"toc":380},"minimark",[139,147,152,311,315,329],[140,141,142,146],"p",{},[143,144,145],"code",{},"nuxt-gsheet"," automatically detects and supports 5 distinct authentication modes depending on your spreadsheet privacy and credential setup.",[148,149,151],"h2",{"id":150},"comparison-matrix","Comparison Matrix",[153,154,155,182],"table",{},[156,157,158],"thead",{},[159,160,161,166,169,173,176,179],"tr",{},[162,163,165],"th",{"align":164},"left","Mode",[162,167,168],{"align":164},"Credentials Needed",[162,170,172],{"align":171},"center","Public \u002F Private",[162,174,175],{"align":171},"Read",[162,177,178],{"align":171},"Write",[162,180,181],{"align":164},"Quota Limit",[183,184,185,215,238,263,287],"tbody",{},[159,186,187,200,203,206,209,212],{},[188,189,190],"td",{"align":164},[191,192,194],"a",{"href":193},"\u002Fauth-modes\u002Fgviz",[195,196,197],"strong",{},[143,198,199],{},"gviz",[188,201,202],{"align":164},"None",[188,204,205],{"align":171},"Public Only",[188,207,208],{"align":171},"Yes",[188,210,211],{"align":171},"No",[188,213,214],{"align":164},"Uncapped (Google Query API)",[159,216,217,227,229,231,233,235],{},[188,218,219],{"align":164},[191,220,222],{"href":221},"\u002Fauth-modes\u002Fcsv",[195,223,224],{},[143,225,226],{},"csv",[188,228,202],{"align":164},[188,230,205],{"align":171},[188,232,208],{"align":171},[188,234,211],{"align":171},[188,236,237],{"align":164},"Uncapped (Direct CSV export)",[159,239,240,250,253,256,258,260],{},[188,241,242],{"align":164},[191,243,245],{"href":244},"\u002Fauth-modes\u002Fappscript",[195,246,247],{},[143,248,249],{},"appscript",[188,251,252],{"align":164},"Apps Script Web App URL",[188,254,255],{"align":171},"Public & Private",[188,257,208],{"align":171},[188,259,208],{"align":171},[188,261,262],{"align":164},"Free (Script Execution Quotas)",[159,264,265,275,278,280,282,284],{},[188,266,267],{"align":164},[191,268,270],{"href":269},"\u002Fauth-modes\u002Fapikey",[195,271,272],{},[143,273,274],{},"apikey",[188,276,277],{"align":164},"GCP API Key",[188,279,205],{"align":171},[188,281,208],{"align":171},[188,283,211],{"align":171},[188,285,286],{"align":164},"Standard GCP API Limits",[159,288,289,299,302,305,307,309],{},[188,290,291],{"align":164},[191,292,294],{"href":293},"\u002Fauth-modes\u002Fservice-account",[195,295,296],{},[143,297,298],{},"service-account",[188,300,301],{"align":164},"GCP Service Account JSON",[188,303,304],{"align":171},"Private & Public",[188,306,208],{"align":171},[188,308,208],{"align":171},[188,310,286],{"align":164},[148,312,314],{"id":313},"automatic-detection-priority","Automatic Detection Priority",[140,316,317,318,321,322,325,326,328],{},"If ",[143,319,320],{},"auth"," is not explicitly declared in ",[143,323,324],{},"nuxt.config.ts",", ",[143,327,145],{}," detects the active mode based on defined environment variables in this order:",[330,331,332,344,353,367],"ol",{},[333,334,335,339,340,343],"li",{},[195,336,337],{},[143,338,249],{},": Detected if ",[143,341,342],{},"GSHEET_APPSCRIPT_URL"," is present.",[333,345,346,339,350,343],{},[195,347,348],{},[143,349,274],{},[143,351,352],{},"GSHEET_API_KEY",[333,354,355,339,359,362,363,366],{},[195,356,357],{},[143,358,298],{},[143,360,361],{},"GSHEET_CLIENT_EMAIL"," and ",[143,364,365],{},"GSHEET_PRIVATE_KEY"," are present.",[333,368,369,376,377,343],{},[195,370,371,373,374],{},[143,372,199],{}," \u002F ",[143,375,226],{},": Fallback mode if only ",[143,378,379],{},"GSHEET_SPREADSHEET_ID",{"title":381,"searchDepth":382,"depth":383,"links":384},"",1,2,[385,386],{"id":150,"depth":383,"text":151},{"id":313,"depth":383,"text":314},"Comparison of all 5 supported authentication modes in nuxt-gsheet.","md",null,{},{"title":54,"description":387},"1x5U8Cp-Q7S9shWTkeiAvt2vF0cx-jss6w-D97z_Hao",[394,396],{"title":45,"path":46,"stem":47,"description":395,"children":-1},"Mutate spreadsheet data using append, update, and clear functions.",{"title":58,"path":59,"stem":60,"description":397,"children":-1},"Zero-config, SQL-like querying for public Google Sheets without API keys.",1786088229691]