指南)
Composio 中 Google Maps Toolkit 的認證、故障排查與配額管理實戰(zhàn)指南【免費下載鏈接】composioComposio powers 1000 toolkits, tool search, context management, authentication, and a sandboxed workbench to help you build AI agents that turn intent into action.項目地址: https://gitcode.com/GitHub_Trending/co/composio導(dǎo)讀本文聚焦 Composio 項目中g(shù)oogle_mapstoolkit工具包在真實使用中最常遇到的五類問題Maps Embed API 的 API Key 認證要求、OAuth 敏感 scope 導(dǎo)致的授權(quán)被攔截、Places APIincludedTypes參數(shù)校驗、已廢棄的GEOCODING_API誤用以及 GCP 計費與配額管理。讀完本文你將能夠為 Composio 的 Google Maps 工具正確配置認證方式、診斷并修復(fù)授權(quán)失敗、規(guī)避 Places 請求參數(shù)錯誤并在需要時為自己的 Google Cloud 項目申請更高配額。本文基于倉庫知識庫文章 docs/kb/articles/toolkits-google-maps.md對應(yīng)源文件為 docs/kb/source/toolkits/google_maps/public.md并補充了 FAQ、認證配置文檔與 SDK 源碼證據(jù)。背景google_mapstoolkit 與兩種認證路徑Composio 的 Google Maps 工具包聚合了多個 Google Maps 相關(guān)工具其 toolkit slug 為google_maps在 ts/packages/cli/src/generated/toolkit-slugs.ts 中可確認。在開始排查之前需要先分清該工具包內(nèi)不同工具的認證方式OAuth 路徑絕大多數(shù) Google 系工具如日歷、Gmail走 OAuth2 授權(quán)使用 Composio 托管的 OAuth app 或用戶自建 OAuth appAPI Key 路徑GOOGLE_MAPS_MAPS_EMBED_API屬于例外它只接受 API Key 認證不走 OAuth2。這個區(qū)別是下文第一節(jié)與第二節(jié)所有問題判斷的基礎(chǔ)。如果你正在使用自定義 OAuth 憑據(jù)還需要在 Google Cloud Console 的APIs Services中確認對應(yīng) Google Maps API 已在那個項目中被啟用否則會報Google Maps API has not been used in project錯誤詳見 FAQ docs/content/toolkits/faq/google_maps.md。Maps Embed API 必須使用 API Key 認證核心結(jié)論GOOGLE_MAPS_MAPS_EMBED_API要求 API Key 認證。有兩種合規(guī)用法使用 auth mode 為api-key的 auth config認證配置在調(diào)用工具時直接傳入api_key參數(shù)。FAQ 中進一步明確了原因Google 的 Maps Embed API 在每次請求中都需要一個 API KeyOAuth2 并不是該工具的有效認證路徑docs/content/toolkits/faq/google_maps.md。在調(diào)用時直接注入 API Key如果不希望為每個用戶建立 connected account可以通過 Composio SDK 的custom_auth_paramsPython/customAuthParamsTypeScript在執(zhí)行工具調(diào)用時直接注入憑據(jù)。倉庫文檔 docs/content/docs/auth-configuration/custom-auth-params.mdx 給出了完整范式下面是適配 Google Maps API Key 的寫法from composio import Composio composio Composio(toolkit_versions{google_maps: latest}) result composio.tools.execute( slugGOOGLE_MAPS_MAPS_EMBED_API, user_iduser_123, arguments{}, dangerously_skip_version_checkTrue, # 使用 latest 時必須顯式聲明 custom_auth_params{ parameters: [ { name: key, value: YOUR_GOOGLE_MAPS_API_KEY, in: query, # Maps Embed API 通過查詢參數(shù)攜帶 key } ], }, ) print(result)import { Composio } from composio/core; const composio new Composio({ apiKey: process.env.COMPOSIO_API_KEY, toolkitVersions: { google_maps: latest }, }); const result await composio.tools.execute( GOOGLE_MAPS_MAPS_EMBED_API, { userId: user_123, arguments: {}, dangerouslySkipVersionCheck: true, // 使用 latest 時必須顯式聲明 customAuthParams: { parameters: [ { in: query, name: key, value: process.env.GOOGLE_MAPS_API_KEY, }, ], }, } ); console.log(JSON.stringify(result, null, 2));?? 注意customAuthParams方式會繞過 Composio 的自動令牌刷新機制過期或輪換的 API Key 需要自行維護docs/content/docs/auth-configuration/custom-auth-params.mdx。使用 api-key 模式的 auth config如果你已經(jīng)有用戶體系更規(guī)范的做法是在 Composio 平臺中創(chuàng)建一個 auth mode 為api-key的 auth config將 API Key 作為該工具的認證憑據(jù)保存之后所有工具調(diào)用都自動攜帶該憑據(jù)。這也是知識庫文章明確推薦的第一種方式Use an auth config whose auth mode isapi-key。OAuth 被 Google 攔截敏感 cloud-platform scope 問題問題現(xiàn)象Google Maps 的 OAuth 連接可能被 Google 直接攔截表現(xiàn)為授權(quán)頁面報錯或App is blocked。知識庫文章指出的關(guān)鍵檢查點在于OAuth app 是否請求了敏感 scopehttps://www.googleapis.com/auth/cloud-platform。觸發(fā)條件與修復(fù)觸發(fā)條件當(dāng) OAuth app 請求了cloud-platform這一敏感 scope且該 app尚未通過 Google 的 OAuth 驗證時Google 會攔截**未列為測試用戶test users且不屬于注冊組織organization**的用戶。修復(fù)方式二選一完成 Google 的 OAuth app 驗證流程將受影響的用戶加入該 OAuth app 的測試用戶/組織用戶名單。FAQdocs/content/toolkits/faq/google_maps.md中補充了同類現(xiàn)象的另一視角App is blocked通常意味著 OAuth client 請求了超出默認范圍的額外 scope而這些 scope 未經(jīng) Google 對該 client 驗證。因此排查時應(yīng)檢查 auth config 中的 scope 列表移除超出默認范圍的額外 scope或自建 OAuth app 并提交 scope 驗證若報Error 400: invalid_scope則核對 scope 值是否在 Google OAuth scopes 文檔允許的范圍內(nèi)、格式是否正確docs/content/docs/authentication/controlling-scopes.mdx 說明了 scope 如何作用于 OAuth toolkit。與自建 OAuth app 的關(guān)系使用自建 Google OAuth 憑據(jù)時還需要注意默認情況下 OAuth 同意屏幕顯示的是 Composio 的 OAuth app若希望顯示自己應(yīng)用的名稱和 Logo需要自建 OAuth app 并配置自定義 redirect URL參見 docs/content/docs/auth-configuration/white-labeling.mdx。校驗 Places API 的includedTypes取值問題現(xiàn)象對于 Google Maps Places 請求如果報錯信息圍繞includedTypes且提示invalid argument幾乎可以確定是傳入了 Google Places API 不支持的 place type 值。處理步驟將請求中的includedTypes取值與 Google Places API 官方支持的 place type 列表逐項比對用受支持的枚舉值替換不支持的取值替換后重試請求。從源碼結(jié)構(gòu)看includedTypes是 Places API 請求中用于過濾地點類別的數(shù)組參數(shù)其合法取值完全由 Google 服務(wù)端決定Composio 只負責(zé)透傳參數(shù)因此無法在 SDK 層預(yù)先攔截非法值排查必須對照 Google 的 place types 列表進行。這是該知識條目的核心價值遇到includedTypes相關(guān)報錯時優(yōu)先懷疑參數(shù)值本身而不是 Composio 的調(diào)用鏈。不要使用已廢棄的GEOCODING_API核心結(jié)論GEOCODING_API不屬于當(dāng)前google_mapstoolkit它屬于另一個 toolkit 且已被廢棄。不要把它作為google_maps工具包正常使用的一部分。正確做法需要地理編碼能力時使用當(dāng)前google_mapstoolkit 中現(xiàn)存的工具 slug可在composio tools或 SDK 工具列表中檢索該 toolkit 的實時工具清單在代碼審查、Agent 提示詞或自動化流程中不要要求模型或工具強制依賴GEOCODING_API避免命中已廢棄接口。這一條對構(gòu)建 Agent 尤為重要LLM 在工具選擇時可能依據(jù)舊文檔生成GEOCODING_API調(diào)用知識庫文章在此明確劃出邊界——廢棄工具不屬于當(dāng)前 toolkit 的正常使用范圍。GCP 計費與配額管理核心結(jié)論絕大多數(shù)經(jīng)由 Composio 調(diào)用的 Google API 通常免費但Google Maps 是例外Maps API 可能要求 Google Cloud 項目開啟計費billing。實操建議開啟計費在使用 Maps 相關(guān)工具前確認承載 API Key / OAuth 憑據(jù)的 Google Cloud 項目已配置 billing監(jiān)控配額如果使用量超過 Google 默認配額上限需要在自己的 Google 項目中申請?zhí)岣呦揞~Composio 無法代為提升你 GCP 項目側(cè)的配額常見報錯聯(lián)動如果看到Google Maps API has not been used in project說明 API 未在憑據(jù)所屬的 GCP 項目中啟用需在 Cloud Console 的 APIs Services 中啟用對應(yīng) API 后等待幾分鐘再重試docs/content/toolkits/faq/google_maps.md。常見問題速查表現(xiàn)象根因解決GOOGLE_MAPS_MAPS_EMBED_API調(diào)用失敗未使用 API Key 認證改用api-key模式 auth config或通過api_key/customAuthParams傳 KeyApp is blockedOAuth app 請求了未驗證的敏感 scope如cloud-platform完成 Google 驗證或把用戶加入測試/組織用戶Google Maps API has not been used in projectAPI 未在憑據(jù)所屬 GCP 項目啟用在 Cloud Console 啟用對應(yīng) API等待數(shù)分鐘重試Error 400: invalid_scopescope 值非法或格式錯誤對照 Google OAuth scopes 文檔修正 scope 值工具調(diào)用返回 401access token 失效吊銷、改密、刷新令牌上限等讓用戶重新認證docs/content/docs/auth-configuration/connected-accounts.mdxPlaces 報 invalid argumentincludedTypes含不受支持的值對照 Google place types 列表替換后重試用量超限GCP 項目配額不足或未開啟計費自建項目開啟 billing 并申請更高限額總結(jié)圍繞 Google Maps toolkit本文覆蓋了知識庫文章的全部五類核心問題API Key 認證是 Maps Embed API 的唯一正確路徑OAuth 被攔截時要優(yōu)先檢查cloud-platform敏感 scopePlaces 請求的includedTypes必須對照 Google 官方枚舉GEOCODING_API已廢棄不應(yīng)再被依賴以及 Maps API 特有的計費與配額約束。在實踐中建議按認證方式 → 授權(quán)攔截 → 參數(shù)校驗 → 配額/計費的順序逐層排查即可覆蓋 Google Maps 工具在 Composio 中的絕大多數(shù)故障場景。相關(guān)權(quán)威依據(jù)均可在此倉庫中直接查閱知識庫原文、發(fā)布版指南、FAQ。【免費下載鏈接】composioComposio powers 1000 toolkits, tool search, context management, authentication, and a sandboxed workbench to help you build AI agents that turn intent into action.項目地址: https://gitcode.com/GitHub_Trending/co/composio創(chuàng)作聲明:本文部分內(nèi)容由AI輔助生成(AIGC),僅供參考