Googleapi

Vibe Code All Google APIs: The Zero-Trust Autonomous Agent for Google Apps Script

Gists

Autonomous Google API Agent (AGAA)

Abstract

Integrating autonomous AI agents into enterprise architectures exposes critical security and latency vulnerabilities. The Autonomous Google API Agent (AGAA) solves this by enforcing a deterministic, zero-trust execution framework directly within Google Apps Script (GAS). By merging GASADK, dynamic REST endpoint resolution via GoogleApiApp, and the Developer Knowledge API through the Model Context Protocol (MCP), AGAA executes complex cross-domain workflows exclusively via natural language. It autonomously researches API schemas, mitigates server-side formula latencies, handles recursive pagination, and mathematically enforces local Role-Based Access Control (RBAC). AGAA enables true “Vibe Coding” across all Google APIs—including Workspace, Analytics, and YouTube—without bloated client libraries.

Javascript library - BatchRequest_js

Overview

This is a library for running Batch Requests for Google APIs using Javascript.

Description

When users use Google’s APIs, one quota is used for one API call. When the batch request is used, several APIs can be called by one quota, although there are some limitations in the batch request.

google-api-javascript-client can run the batch request. Ref But, I created this for my self study. This library can achieve the batch request using fetch without using google-api-javascript-client.

Using String Values to []googleapi.Field for Golang

Gists

This sample script is for using the string values to []googleapi.Field for Golang. The property of fields can often be used to the Google APIs. When such APIs are used by the Go library, there are the cases that fields parameter is required to be used. For example, at the quickstart of Drive API for golang, the value is directly put to Fields() like r, err := srv.Files.List().PageSize(10).Fields("nextPageToken, files(id, name)").Do(). For this situation, when the string value is put to Fields() as follows,