[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M698XYPFQ43QT7W6SQRED511":3,"skill-same:01M698XYPFQ43QT7W6SQRED511":116},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":34,"publishedAt":55,"linkOnly":56,"markdownContent":57,"markdownBody":58,"frontMatter":59,"refName":63,"commitSha":64,"skillDirectory":65,"forksCount":66,"repositoryHtmlUrl":67,"repositoryHomepageUrl":6,"ownerHtmlUrl":68,"ownerBlogUrl":69,"ownerDescription":70,"updatedAt":71,"install":72,"resources":85},"01M698XYPFQ43QT7W6SQRED511","google-analytics-data-api-basics",null,"Manages Google Analytics reporting data, enables the Analytics Data API via the Cloud CLI, and creates reports using the Google Analytics Data API (v1beta). Use when you need to interact with Google Analytics properties, run customized analytics reports, query metrics (like activeUsers, screenPageViews) and dimensions (like city, date), check metrics and dimensions compatibility, or verify API enablement. Don't use for Google Analytics Admin API operations (e.g., creating properties, managing users) or for front-end tracking installation.","google\u002Fskills","google","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F1342004?v=4","01M698VYEFDM0VJBZDYYJ2T83S","Google","01M698WR0H76ENHE587T9EJT89",24122,"Apache-2.0","https:\u002F\u002Fgithub.com\u002Fgoogle\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fanalytics\u002Fgoogle-analytics-data-api-basics\u002FSKILL.md",[18,23,26,31],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000010","后端与接口","SCENARIO","使用场景",{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000013","分析与可视化",{"categoryNo":27,"categoryName":28,"taxonomyType":29,"taxonomyTypeDesc":30},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",{"categoryNo":32,"categoryName":33,"taxonomyType":29,"taxonomyTypeDesc":30},"01JBSEEDCAT000000000000033","数据分析师",[9,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54],"google analytics data api basics","analytics","data","google analytics","api","basics","when","for","front","you","end","dimensions","query","compatibility","reports","reporting","metrics","run","query metrics","cli","2026-11-10 10:12:30",false,"---\nname: google-analytics-data-api-basics\nmetadata:\n  version: \"1.0.0\"\n  category: GoogleAnalytics\ndescription: >-\n  Manages Google Analytics reporting data, enables the Analytics Data API via the Cloud CLI, and creates reports using the Google Analytics Data API (v1beta). Use when you need to interact with Google Analytics properties, run customized analytics reports, query metrics (like activeUsers, screenPageViews) and dimensions (like city, date), check metrics and dimensions compatibility, or verify API enablement. Don't use for Google Analytics Admin API operations (e.g., creating properties, managing users) or for front-end tracking installation.\n---\n\n# Getting Started with Google Analytics Data API\n\nThe Google Analytics Data API v1beta provides programmatic access to Google\nAnalytics report data. It allows you to build customized dashboards,\nautomate reporting workflows, and integrate Google Analytics data into your enterprise\napplications.\n\n## Enabling the API via Cloud CLI\n\nBefore making API calls, ensure the Google Analytics Data API is enabled in your\nGoogle Cloud project.\n\nIf `gcloud` is not found, prompt the user to install the Google Cloud CLI before\nrunning these commands.\n\n1.  **Enable the API:** Use the Cloud CLI (`gcloud`) to enable\n    `analyticsdata.googleapis.com`.\n\n    ```bash\n    gcloud services enable analyticsdata.googleapis.com --quiet\n    ```\n\n    *Why: Enabling the API ensures your Cloud project has the necessary quota\n    and permissions allocated for running Google Analytics reports.*\n\n2.  **Verify API Enablement:**\n\n    ```bash\n    gcloud services list --enabled --filter=\"analyticsdata.googleapis.com\"\n    ```\n\n## Authentication\n\nTo authenticate your API requests, you must generate Application Default\nCredentials (ADC) and give your account the necessary scopes. Run the following\ncommand in your terminal:\n\n```bash\ngcloud auth application-default login --scopes=\"https:\u002F\u002Fwww.googleapis.com\u002Fauth\u002Fcloud-platform,https:\u002F\u002Fwww.googleapis.com\u002Fauth\u002Fanalytics.readonly\"\n```\n\n*Why: This configures ADC in your local environment with the required Cloud\nPlatform and Google Analytics read-only scopes, allowing the client library to\nautomatically authenticate your requests.*\n\n## Creating a Data API Report (v1beta)\n\nTo create a report, use the official Google Analytics Data client library.\nAlways prefer the `v1beta` version of the API for stability and access to\ncurrent Google Analytics reporting capabilities.\n\n> [!IMPORTANT] **Mandatory Agent Directive:** When the user selects or requires\n> a specific programming language, read the corresponding client library setup\n> reference guide in `references\u002F` listed below.\n\n### Supported Client Libraries\n\n#### Python\n\nIf you need to install or set up the Google Analytics Data API client library\nfor Python, read the setup guide:\n\n*   [Python Installation Reference](references\u002Fpython.md) *(Package:\n    `google-analytics-data`)*\n\n#### Java\n\nIf you need to install or set up the Google Analytics Data API client library\nfor Java, read the setup guide:\n\n*   [Java Installation Reference](references\u002Fjava.md) *(Artifact:\n    `com.google.cloud:google-cloud-analytics-data`)*\n\n#### PHP\n\nIf you need to install or set up the Google Analytics Data API client library\nfor PHP, read the setup guide:\n\n*   [PHP Installation Reference](references\u002Fphp.md) *(Package:\n    `google\u002Fanalytics-data`)*\n\n#### Node.js\n\nIf you need to install or set up the Google Analytics Data API client library\nfor Node.js, read the setup guide:\n\n*   [Node.js Installation Reference](references\u002Fnodejs.md) *(Package:\n    `@google-analytics\u002Fdata`)*\n\n#### Go\n\nIf you need to install or set up the Google Analytics Data API client library\nfor Go, read the setup guide:\n\n*   [Go Installation Reference](references\u002Fgo.md) *(Package:\n    `cloud.google.com\u002Fgo\u002Fanalytics\u002Fdata\u002Fapiv1beta`)*\n\n#### .NET\n\nIf you need to install or set up the Google Analytics Data API client library\nfor .NET \u002F C#, read the setup guide:\n\n*   [.NET Installation Reference](references\u002Fdotnet.md) *(Package:\n    `Google.Analytics.Data.V1Beta`)*\n\n#### Ruby\n\nIf you need to install or set up the Google Analytics Data API client library\nfor Ruby, read the setup guide:\n\n*   [Ruby Installation Reference](references\u002Fruby.md) *(Gem:\n    `google-analytics-data-v1beta`)*\n\n> [!NOTE] **Additional Resources**: For further examples of calling the Data API\n> with Java, PHP, Node.js, .NET, Python and REST, as well as hints on\n> authentication with a service account, refer to the official\n> [Data API Quickstart](https:\u002F\u002Fdevelopers.google.com\u002Fanalytics\u002Fdevguides\u002Freporting\u002Fdata\u002Fv1\u002Fquickstart).\n\n### Python Quick Start\n\n1.  **Install the Client Library:**\n\n    ```bash\n    pip install google-analytics-data\n    ```\n\n    If `pip` is not available, prompt the user to install `pip` before\n    installing the client library.\n\n2.  **Run a Report Request:** Below is a complete example demonstrating how to\n    query a Google Analytics property for active users and sessions grouped by city and date.\n    Replace `YOUR-PROPERTY-ID` with your actual Google Analytics property ID (e.g.,\n    `1234567`).\n\n    ```python\n    from google.analytics.data_v1beta import BetaAnalyticsDataClient\n    from google.analytics.data_v1beta.types import DateRange, Dimension, Metric, RunReportRequest\n\n    def sample_run_report(property_id: str):\n        # Initialize the client.\n        # Assumes Application Default Credentials (ADC) are configured in your environment.\n        client = BetaAnalyticsDataClient()\n\n        request = RunReportRequest(\n            property=f\"properties\u002F{property_id}\",\n            dimensions=[\n                Dimension(name=\"city\"),\n                Dimension(name=\"date\")\n            ],\n            metrics=[\n                Metric(name=\"activeUsers\"),\n                Metric(name=\"sessions\")\n            ],\n            date_ranges=[\n                DateRange(start_date=\"2026-05-01\", end_date=\"today\")\n            ],\n        )\n\n        response = client.run_report(request)\n\n        print(f\"Report result for property {property_id}:\")\n        for row in response.rows:\n            print(\n                f\"City: {row.dimension_values[0].value}, \"\n                f\"Date: {row.dimension_values[1].value}, \"\n                f\"Active Users: {row.metric_values[0].value}, \"\n                f\"Sessions: {row.metric_values[1].value}\"\n            )\n\n    if __name__ == \"__main__\":\n        sample_run_report(\"YOUR-PROPERTY-ID\")\n    ```\n\n    *Why: Using `BetaAnalyticsDataClient` and `RunReportRequest` ensures\n    compatibility with the v1beta endpoint and strongly typed request\n    validation.*\n\n## Metrics and Dimensions Schema\n\nWhen constructing your `RunReportRequest`, you must use valid API names for\ndimensions and metrics. Refer to the official\n[Data API Schema documentation](https:\u002F\u002Fdevelopers.google.com\u002Fanalytics\u002Fdevguides\u002Freporting\u002Fdata\u002Fv1\u002Fapi-schema)\nfor the complete, authoritative list of available fields.\n\n### Commonly Used Dimensions\n\nDimensions represent categorical attributes of your data.\n\n*   `city`: The town or city of the user.\n*   `country`: The country of the user.\n*   `date`: The date of the event, formatted as YYYYMMDD.\n*   `deviceCategory`: The category of mobile device (e.g., desktop, mobile,\n    tablet).\n*   `eventName`: The name of the triggered event.\n*   `pageTitle`: The title of the web page.\n\n### Commonly Used Metrics\n\nMetrics represent quantitative measurements.\n\n*   `activeUsers`: The number of active users.\n*   `eventCount`: The total count of events.\n*   `sessions`: The total number of sessions.\n*   `screenPageViews`: The number of app screens or web pages viewed.\n*   `totalRevenue`: The total revenue from purchases, subscriptions, and\n    advertising.\n\n### Metrics and Dimensions Compatibility Check\n\nSome dimensions and metrics cannot be queried together in the same report\nrequest. If you encounter an `INVALID_ARGUMENT` error regarding incompatible\nfields, verify your field combinations For programmatic access to the Data API\nschema, use `getMetadata()`. To programmatically check the compatibility of\nspecific dimension and metric combinations before running a report, use the\n`checkCompatibility()` method.\n\n```python\nfrom google.analytics.data_v1beta import BetaAnalyticsDataClient\nfrom google.analytics.data_v1beta.types import CheckCompatibilityRequest, Compatibility, Dimension, Metric\n\ndef sample_check_compatibility(property_id: str):\n    client = BetaAnalyticsDataClient()\n\n    # Define the dimensions and metrics you want to query together.\n    # For example, checking if 'itemName' (an e-commerce dimension)\n    # is compatible with 'activeUsers' and 'totalRevenue'.\n    request = CheckCompatibilityRequest(\n        property=f\"properties\u002F{property_id}\",\n        dimensions=[\n            Dimension(name=\"itemName\"),\n            Dimension(name=\"date\")\n        ],\n        metrics=[\n            Metric(name=\"activeUsers\"),\n            Metric(name=\"totalRevenue\")\n        ],\n    )\n    response = client.check_compatibility(request)\n\n    print(f\"Compatibility check for property {property_id}:\")\n    for dim in response.dimension_compatibilities:\n        is_compatible = dim.compatibility == Compatibility.COMPATIBLE\n        print(f\"Dimension '{dim.dimension_metadata.api_name}' is compatible: {is_compatible}\")\n\n    for metric in response.metric_compatibilities:\n        is_compatible = metric.compatibility == Compatibility.COMPATIBLE\n        print(f\"Metric '{metric.metric_metadata.api_name}' is compatible: {is_compatible}\")\n\nif __name__ == \"__main__\":\n    sample_check_compatibility(\"YOUR-PROPERTY-ID\")\n```\n","# Getting Started with Google Analytics Data API\n\nThe Google Analytics Data API v1beta provides programmatic access to Google\nAnalytics report data. It allows you to build customized dashboards,\nautomate reporting workflows, and integrate Google Analytics data into your enterprise\napplications.\n\n## Enabling the API via Cloud CLI\n\nBefore making API calls, ensure the Google Analytics Data API is enabled in your\nGoogle Cloud project.\n\nIf `gcloud` is not found, prompt the user to install the Google Cloud CLI before\nrunning these commands.\n\n1.  **Enable the API:** Use the Cloud CLI (`gcloud`) to enable\n    `analyticsdata.googleapis.com`.\n\n    ```bash\n    gcloud services enable analyticsdata.googleapis.com --quiet\n    ```\n\n    *Why: Enabling the API ensures your Cloud project has the necessary quota\n    and permissions allocated for running Google Analytics reports.*\n\n2.  **Verify API Enablement:**\n\n    ```bash\n    gcloud services list --enabled --filter=\"analyticsdata.googleapis.com\"\n    ```\n\n## Authentication\n\nTo authenticate your API requests, you must generate Application Default\nCredentials (ADC) and give your account the necessary scopes. Run the following\ncommand in your terminal:\n\n```bash\ngcloud auth application-default login --scopes=\"https:\u002F\u002Fwww.googleapis.com\u002Fauth\u002Fcloud-platform,https:\u002F\u002Fwww.googleapis.com\u002Fauth\u002Fanalytics.readonly\"\n```\n\n*Why: This configures ADC in your local environment with the required Cloud\nPlatform and Google Analytics read-only scopes, allowing the client library to\nautomatically authenticate your requests.*\n\n## Creating a Data API Report (v1beta)\n\nTo create a report, use the official Google Analytics Data client library.\nAlways prefer the `v1beta` version of the API for stability and access to\ncurrent Google Analytics reporting capabilities.\n\n> [!IMPORTANT] **Mandatory Agent Directive:** When the user selects or requires\n> a specific programming language, read the corresponding client library setup\n> reference guide in `references\u002F` listed below.\n\n### Supported Client Libraries\n\n#### Python\n\nIf you need to install or set up the Google Analytics Data API client library\nfor Python, read the setup guide:\n\n*   [Python Installation Reference](references\u002Fpython.md) *(Package:\n    `google-analytics-data`)*\n\n#### Java\n\nIf you need to install or set up the Google Analytics Data API client library\nfor Java, read the setup guide:\n\n*   [Java Installation Reference](references\u002Fjava.md) *(Artifact:\n    `com.google.cloud:google-cloud-analytics-data`)*\n\n#### PHP\n\nIf you need to install or set up the Google Analytics Data API client library\nfor PHP, read the setup guide:\n\n*   [PHP Installation Reference](references\u002Fphp.md) *(Package:\n    `google\u002Fanalytics-data`)*\n\n#### Node.js\n\nIf you need to install or set up the Google Analytics Data API client library\nfor Node.js, read the setup guide:\n\n*   [Node.js Installation Reference](references\u002Fnodejs.md) *(Package:\n    `@google-analytics\u002Fdata`)*\n\n#### Go\n\nIf you need to install or set up the Google Analytics Data API client library\nfor Go, read the setup guide:\n\n*   [Go Installation Reference](references\u002Fgo.md) *(Package:\n    `cloud.google.com\u002Fgo\u002Fanalytics\u002Fdata\u002Fapiv1beta`)*\n\n#### .NET\n\nIf you need to install or set up the Google Analytics Data API client library\nfor .NET \u002F C#, read the setup guide:\n\n*   [.NET Installation Reference](references\u002Fdotnet.md) *(Package:\n    `Google.Analytics.Data.V1Beta`)*\n\n#### Ruby\n\nIf you need to install or set up the Google Analytics Data API client library\nfor Ruby, read the setup guide:\n\n*   [Ruby Installation Reference](references\u002Fruby.md) *(Gem:\n    `google-analytics-data-v1beta`)*\n\n> [!NOTE] **Additional Resources**: For further examples of calling the Data API\n> with Java, PHP, Node.js, .NET, Python and REST, as well as hints on\n> authentication with a service account, refer to the official\n> [Data API Quickstart](https:\u002F\u002Fdevelopers.google.com\u002Fanalytics\u002Fdevguides\u002Freporting\u002Fdata\u002Fv1\u002Fquickstart).\n\n### Python Quick Start\n\n1.  **Install the Client Library:**\n\n    ```bash\n    pip install google-analytics-data\n    ```\n\n    If `pip` is not available, prompt the user to install `pip` before\n    installing the client library.\n\n2.  **Run a Report Request:** Below is a complete example demonstrating how to\n    query a Google Analytics property for active users and sessions grouped by city and date.\n    Replace `YOUR-PROPERTY-ID` with your actual Google Analytics property ID (e.g.,\n    `1234567`).\n\n    ```python\n    from google.analytics.data_v1beta import BetaAnalyticsDataClient\n    from google.analytics.data_v1beta.types import DateRange, Dimension, Metric, RunReportRequest\n\n    def sample_run_report(property_id: str):\n        # Initialize the client.\n        # Assumes Application Default Credentials (ADC) are configured in your environment.\n        client = BetaAnalyticsDataClient()\n\n        request = RunReportRequest(\n            property=f\"properties\u002F{property_id}\",\n            dimensions=[\n                Dimension(name=\"city\"),\n                Dimension(name=\"date\")\n            ],\n            metrics=[\n                Metric(name=\"activeUsers\"),\n                Metric(name=\"sessions\")\n            ],\n            date_ranges=[\n                DateRange(start_date=\"2026-05-01\", end_date=\"today\")\n            ],\n        )\n\n        response = client.run_report(request)\n\n        print(f\"Report result for property {property_id}:\")\n        for row in response.rows:\n            print(\n                f\"City: {row.dimension_values[0].value}, \"\n                f\"Date: {row.dimension_values[1].value}, \"\n                f\"Active Users: {row.metric_values[0].value}, \"\n                f\"Sessions: {row.metric_values[1].value}\"\n            )\n\n    if __name__ == \"__main__\":\n        sample_run_report(\"YOUR-PROPERTY-ID\")\n    ```\n\n    *Why: Using `BetaAnalyticsDataClient` and `RunReportRequest` ensures\n    compatibility with the v1beta endpoint and strongly typed request\n    validation.*\n\n## Metrics and Dimensions Schema\n\nWhen constructing your `RunReportRequest`, you must use valid API names for\ndimensions and metrics. Refer to the official\n[Data API Schema documentation](https:\u002F\u002Fdevelopers.google.com\u002Fanalytics\u002Fdevguides\u002Freporting\u002Fdata\u002Fv1\u002Fapi-schema)\nfor the complete, authoritative list of available fields.\n\n### Commonly Used Dimensions\n\nDimensions represent categorical attributes of your data.\n\n*   `city`: The town or city of the user.\n*   `country`: The country of the user.\n*   `date`: The date of the event, formatted as YYYYMMDD.\n*   `deviceCategory`: The category of mobile device (e.g., desktop, mobile,\n    tablet).\n*   `eventName`: The name of the triggered event.\n*   `pageTitle`: The title of the web page.\n\n### Commonly Used Metrics\n\nMetrics represent quantitative measurements.\n\n*   `activeUsers`: The number of active users.\n*   `eventCount`: The total count of events.\n*   `sessions`: The total number of sessions.\n*   `screenPageViews`: The number of app screens or web pages viewed.\n*   `totalRevenue`: The total revenue from purchases, subscriptions, and\n    advertising.\n\n### Metrics and Dimensions Compatibility Check\n\nSome dimensions and metrics cannot be queried together in the same report\nrequest. If you encounter an `INVALID_ARGUMENT` error regarding incompatible\nfields, verify your field combinations For programmatic access to the Data API\nschema, use `getMetadata()`. To programmatically check the compatibility of\nspecific dimension and metric combinations before running a report, use the\n`checkCompatibility()` method.\n\n```python\nfrom google.analytics.data_v1beta import BetaAnalyticsDataClient\nfrom google.analytics.data_v1beta.types import CheckCompatibilityRequest, Compatibility, Dimension, Metric\n\ndef sample_check_compatibility(property_id: str):\n    client = BetaAnalyticsDataClient()\n\n    # Define the dimensions and metrics you want to query together.\n    # For example, checking if 'itemName' (an e-commerce dimension)\n    # is compatible with 'activeUsers' and 'totalRevenue'.\n    request = CheckCompatibilityRequest(\n        property=f\"properties\u002F{property_id}\",\n        dimensions=[\n            Dimension(name=\"itemName\"),\n            Dimension(name=\"date\")\n        ],\n        metrics=[\n            Metric(name=\"activeUsers\"),\n            Metric(name=\"totalRevenue\")\n        ],\n    )\n    response = client.check_compatibility(request)\n\n    print(f\"Compatibility check for property {property_id}:\")\n    for dim in response.dimension_compatibilities:\n        is_compatible = dim.compatibility == Compatibility.COMPATIBLE\n        print(f\"Dimension '{dim.dimension_metadata.api_name}' is compatible: {is_compatible}\")\n\n    for metric in response.metric_compatibilities:\n        is_compatible = metric.compatibility == Compatibility.COMPATIBLE\n        print(f\"Metric '{metric.metric_metadata.api_name}' is compatible: {is_compatible}\")\n\nif __name__ == \"__main__\":\n    sample_check_compatibility(\"YOUR-PROPERTY-ID\")\n```\n",{"name":5,"metadata":60,"description":7},{"version":61,"category":62},"1.0.0","GoogleAnalytics","main","bb9b3f464aae37af360d079c1d863524955b0363","skills\u002Fanalytics\u002Fgoogle-analytics-data-api-basics",2005,"https:\u002F\u002Fgithub.com\u002Fgoogle\u002Fskills","https:\u002F\u002Fgithub.com\u002Fgoogle","https:\u002F\u002Fopensource.google\u002F","Google ❤️ Open Source","2026-11-14 01:51:35",{"source":8,"skillName":5,"commands":73,"prompt":83,"zipAvailable":84},[74,77,80],{"tool":75,"command":76},"npx","npx skills add google\u002Fskills --skill google-analytics-data-api-basics",{"tool":78,"command":79},"bunx","bunx skills add google\u002Fskills --skill google-analytics-data-api-basics",{"tool":81,"command":82},"pnpm","pnpm dlx skills add google\u002Fskills --skill google-analytics-data-api-basics","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fgoogle\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fanalytics\u002Fgoogle-analytics-data-api-basics\u002FSKILL.md",true,[86,92,96,100,104,108,112],{"path":87,"resourceType":88,"resourceTypeDesc":89,"sizeBytes":90,"sourceHtmlUrl":91},"references\u002Fdotnet.md","REFERENCE","参考文档",2032,"https:\u002F\u002Fgithub.com\u002Fgoogle\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fanalytics\u002Fgoogle-analytics-data-api-basics\u002Freferences\u002Fdotnet.md",{"path":93,"resourceType":88,"resourceTypeDesc":89,"sizeBytes":94,"sourceHtmlUrl":95},"references\u002Fgo.md",1816,"https:\u002F\u002Fgithub.com\u002Fgoogle\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fanalytics\u002Fgoogle-analytics-data-api-basics\u002Freferences\u002Fgo.md",{"path":97,"resourceType":88,"resourceTypeDesc":89,"sizeBytes":98,"sourceHtmlUrl":99},"references\u002Fjava.md",2669,"https:\u002F\u002Fgithub.com\u002Fgoogle\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fanalytics\u002Fgoogle-analytics-data-api-basics\u002Freferences\u002Fjava.md",{"path":101,"resourceType":88,"resourceTypeDesc":89,"sizeBytes":102,"sourceHtmlUrl":103},"references\u002Fnodejs.md",1603,"https:\u002F\u002Fgithub.com\u002Fgoogle\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fanalytics\u002Fgoogle-analytics-data-api-basics\u002Freferences\u002Fnodejs.md",{"path":105,"resourceType":88,"resourceTypeDesc":89,"sizeBytes":106,"sourceHtmlUrl":107},"references\u002Fphp.md",1753,"https:\u002F\u002Fgithub.com\u002Fgoogle\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fanalytics\u002Fgoogle-analytics-data-api-basics\u002Freferences\u002Fphp.md",{"path":109,"resourceType":88,"resourceTypeDesc":89,"sizeBytes":110,"sourceHtmlUrl":111},"references\u002Fpython.md",1953,"https:\u002F\u002Fgithub.com\u002Fgoogle\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fanalytics\u002Fgoogle-analytics-data-api-basics\u002Freferences\u002Fpython.md",{"path":113,"resourceType":88,"resourceTypeDesc":89,"sizeBytes":114,"sourceHtmlUrl":115},"references\u002Fruby.md",1687,"https:\u002F\u002Fgithub.com\u002Fgoogle\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fanalytics\u002Fgoogle-analytics-data-api-basics\u002Freferences\u002Fruby.md",[117,151,178,205,232,257],{"skillNo":118,"name":119,"nameZh":6,"description":120,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":121,"categories":122,"keywords":127,"publishedAt":55},"01M6998S2EZKD3GEJ7F943RZTE","sign-in-with-google-web","Implement, configure, and secure Sign In With Google (SiwG) using Google Identity Services (GIS \u002F `https:\u002F\u002Faccounts.google.com\u002Fgsi\u002Fclient`) across web architectures. Use when creating Google sign-in buttons, implementing Google One Tap with FedCM, integrating GIS in React\u002FNext.js\u002FAngular\u002FHTML, verifying ID tokens on backend runtimes (Python\u002FNode.js\u002FGo\u002FJava), enforcing Google Workspace domain restrictions (`hd`), securing client-side ID tokens via WebCrypto nonces or encrypted IndexedDB, embedding in cross-origin iframes via the Intermediate Iframe API (`https:\u002F\u002Faccounts.google.com\u002Fgsi\u002Fintermediate`), configuring Content Security Policy (CSP), COOP, and Permissions Policy (`identity-credentials-get`) headers, or handling sign-out and revocation. Don't use for legacy Google Sign-In (`gapi.auth2`), Google Cloud IAM service accounts, or Android\u002FiOS native Credential Manager.","https:\u002F\u002Fgithub.com\u002Fgoogle\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fidentity\u002Fsign-in-with-google-web\u002FSKILL.md",[123,126],{"categoryNo":124,"categoryName":125,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000009","前端开发",{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[9,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150],"sign in with google web","sign","with","web","android","go","security","google workspace","google cloud","implement","policy","python","implementing","react","iam","permissions","buttons","secure","manager","identity","architectures","domain","runtimes",{"skillNo":152,"name":153,"nameZh":6,"description":154,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":155,"categories":156,"keywords":162,"publishedAt":55},"01M6998PHPDCAD684VW5WRG83D","dpop-adoption","Implement and debug OAuth 2.0 DPoP (RFC 9449) refresh token sender-constraining for WebCrypto, Node.js ES6, and browser runtimes integrating with Google's OAuth platform. Use when configuring non-extractable asymmetric key pairs (P-256), generating DPoP Proof JWTs for authorization code exchange and token refresh, or handling 400 use_dpop_nonce challenge retry loops at oauth2.googleapis.com\u002Ftoken. Don't use for unconstrained OAuth 2.0 flows (where refresh tokens are not bound to a client key pair), or for Google Cloud IAM \u002F service account authentication.","https:\u002F\u002Fgithub.com\u002Fgoogle\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fidentity\u002Fdpop-adoption\u002FSKILL.md",[157,158,161],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":159,"categoryName":160,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",{"categoryNo":27,"categoryName":28,"taxonomyType":29,"taxonomyTypeDesc":30},[163,164,9,136,165,166,167,168,169,170,142,171,172,173,174,175,176,147,150,177,41],"dpop adoption","adoption","es6","retry","authentication","flows","challenge","code","browser","loops","at","node","token","pair","platform",{"skillNo":179,"name":180,"nameZh":6,"description":181,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":182,"categories":183,"keywords":190,"publishedAt":55},"01M6998M72TC73EEAQH4XC7EXW","retrieving-developer-knowledge","Searches, retrieves, and synthesizes official Google developer documentation across Google Cloud, AI\u002FGemini, Android, Chrome, Web, Flutter, Go, Firebase, and other Google developer platforms. Integrates with the Developer Knowledge MCP server (search_documents, get_documents, answer_query) or the Developer Knowledge REST API fallback. Use when searching for gcloud CLI commands, API syntax, IAM permissions, official documentation, architectural comparisons, or product choice overviews. Don't use for local filesystem lookups or non-Google documentation.","https:\u002F\u002Fgithub.com\u002Fgoogle\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fdevelopers\u002Fretrieving-developer-knowledge\u002FSKILL.md",[184,185,188,189],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":186,"categoryName":187,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000021","资料检索与研究",{"categoryNo":159,"categoryName":160,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":27,"categoryName":28,"taxonomyType":29,"taxonomyTypeDesc":30},[191,192,193,194,136,195,196,197,198,199,200,201,202,41,47,39,203,142,204,143],"retrieving developer knowledge","knowledge","developer","MCP","mcp server","official","developer documentation","get","search","local","choice","documents","across","documentation",{"skillNo":206,"name":207,"nameZh":6,"description":208,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":209,"categories":210,"keywords":211,"publishedAt":55},"01M6998J2CZEXS9BES9S3WWFKC","migrate-to-rust","Clones, analyzes, plans, and migrates legacy codebases (C++, Fortran, Java, Python, C, Shell) from a GitHub URL or local directory to a modern, high-performance, deterministic, 100% Safe Rust architecture, tracking live telemetry across every task bucket, test failure\u002Ffix cycle, and Profile-Guided Optimization (PGO) stage, and producing a first-person AI storytelling report and interactive HTML infographic. Use when migrating a GitHub repository or local codebase to Rust, porting legacy C++, Fortran, Python, or Java workloads to memory-safe Rust, designing Struct-of-Arrays (SoA) or SIMD Rust architectures, or optimizing Rust ports with LLVM PGO. Don't use for unrelated non-Rust refactoring or single-line syntax questions.","https:\u002F\u002Fgithub.com\u002Fgoogle\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fdevelopers\u002Fmigrate-to-rust\u002FSKILL.md",[],[212,213,214,215,216,217,218,219,139,220,221,222,223,224,225,200,226,227,228,41,229,230,203,231],"migrate to rust","rust","migrate","github","memory","performance","directory","safe","ports","llvm","soa","cycle","porting","fix","arrays","infographic","high-performance","URL","architecture","unrelated",{"skillNo":233,"name":234,"nameZh":6,"description":235,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":236,"categories":237,"keywords":241,"publishedAt":55},"01M6998GCC3K29WZ82KXMB9E02","finding-google-skills","Google platform decision and setup guidance, loaded on demand from Google's skill catalog. Use when a developer is choosing or setting up part of their stack, such as where to run a service, a database, storage, messaging, authentication, analytics, ads, or AI model serving, and a Google product is a reasonable candidate - whether or not a vendor is named - or when a request names a Google product or API. Brings in the matching Google skill so the answer can weigh Google options, their trade-offs, and when they are not the right fit. Skip when the stack is already settled on another provider and no Google product is named, or the task involves no platform choice.","https:\u002F\u002Fgithub.com\u002Fgoogle\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fdevelopers\u002Ffinding-google-skills\u002FSKILL.md",[238,239,240],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":159,"categoryName":160,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":27,"categoryName":28,"taxonomyType":29,"taxonomyTypeDesc":30},[9,242,243,244,245,177,246,247,248,249,250,167,251,252,253,201,254,255,41,256,39],"finding google skills","storage","as","messaging","model","trade-offs","provider","answer","fit","catalog","up","decision","use","database","candidate",{"skillNo":258,"name":259,"nameZh":6,"description":260,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":261,"categories":262,"keywords":265,"publishedAt":55},"01M6998DWNHTH0BS6W1CY8ZXMP","workload-manager-basics","Use this skill to manage Google Cloud Workload Manager evaluations, rules, scanned resources, and validation results by using public client libraries and the REST API. Use when you need to inspect workload best-practice rules, create and run evaluations for Google Cloud general best practices, SAP, SQL Server, or custom organizational rules, review violations, export results to BigQuery, or automate Workload Manager through client libraries because no service-specific public CLI or MCP server is available. Don't use for general Google Compute Engine instance management, VPC configuration, or standard IAM auditing.","https:\u002F\u002Fgithub.com\u002Fgoogle\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fcloud\u002Fworkload-manager-basics\u002FSKILL.md",[263,264],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":159,"categoryName":160,"taxonomyType":21,"taxonomyTypeDesc":22},[266,267,146,40,9,194,54,136,195,268,269,270,271,41,44,39,142,272,273,274,52],"workload manager basics","workload","review","vpc","resources","inspect","create","libraries","server"]