























@@ -104,6 +104,18 @@ openclaw googlemeet create
104104openclaw googlemeet join https://meet.google.com/new-abcd-xyz --transport chrome-node
105105```
106106107+`googlemeet create` has two paths:
108+109+- API create: used when Google Meet OAuth credentials are configured. This is
110+ the most deterministic path and does not depend on browser UI state.
111+- Browser fallback: used when OAuth credentials are absent. OpenClaw uses the
112+ pinned Chrome node, opens `https://meet.google.com/new`, waits for Google to
113+ redirect to a real meeting-code URL, then returns that URL. This path requires
114+ the OpenClaw Chrome profile on the node to already be signed in to Google.
115+116+The command output includes a `source` field (`api` or `browser`) so agents can
117+explain which path was used.
118+107119Or tell an agent: "Create a Google Meet, join it with realtime voice, and send
108120me the link." The agent should call `google_meet` with `action: "create"`, copy
109121the returned `meetingUri`, then call `google_meet` with `action: "join"` and
@@ -400,7 +412,11 @@ openclaw googlemeet join https://meet.google.com/abc-defg-hij \
400412401413## OAuth and preflight
402414403-Google Meet Media API access uses a personal OAuth client first. Configure
415+OAuth is optional for creating a Meet link because `googlemeet create` can fall
416+back to browser automation. Configure OAuth when you want official API create,
417+space resolution, or Meet Media API preflight checks.
418+419+Google Meet API access uses a personal OAuth client first. Configure
404420`oauth.clientId` and optionally `oauth.clientSecret`, then run:
405421406422```bash
@@ -411,11 +427,15 @@ The command prints an `oauth` config block with a refresh token. It uses PKCE,
411427localhost callback on `http://localhost:8085/oauth2callback`, and a manual
412428copy/paste flow with `--manual`.
413429414-The OAuth consent includes Meet space creation, Meet space read access, and
415-Meet conference media read access. If you authenticated before meeting creation
430+The OAuth consent includes Meet space creation, Meet space read access, and Meet
431+conference media read access. If you authenticated before meeting creation
416432support existed, rerun `openclaw googlemeet auth login --json` so the refresh
417433token has the `meetings.space.created` scope.
418434435+No OAuth credentials are needed for the browser fallback. In that mode, Google
436+auth comes from the signed-in Chrome profile on the selected node, not from
437+OpenClaw config.
438+419439These environment variables are accepted as fallbacks:
420440421441- `OPENCLAW_GOOGLE_MEET_CLIENT_ID` or `GOOGLE_MEET_CLIENT_ID`
@@ -439,21 +459,50 @@ Run preflight before media work:
439459openclaw googlemeet preflight --meeting https://meet.google.com/abc-defg-hij
440460```
441461442-Create a fresh Meet space with the same OAuth config:
462+Create a fresh Meet space:
443463444464```bash
445465openclaw googlemeet create
446466```
447467448-The command prints the new `meeting uri` and `space`. Agents can use the
468+The command prints the new `meeting uri` and source. With OAuth credentials it
469+uses the official Google Meet API. Without OAuth credentials it uses the pinned
470+Chrome node's signed-in browser profile as a fallback. Agents can use the
449471`google_meet` tool with `action: "create"` to create a meeting, then call
450472`action: "join"` with the returned `meetingUri`.
451473452-Creating a Meet space only creates the meeting URL. The Chrome or Chrome-node
453-transport still needs a signed-in Google Chrome profile to join through the
454-browser. If the profile is signed out, OpenClaw reports
455-`manualActionRequired: true` and asks the operator to finish Google login before
456-retrying the join.
474+Example JSON output from the browser fallback:
475+476+```json
477+{
478+"source": "browser",
479+"meetingUri": "https://meet.google.com/abc-defg-hij",
480+"browser": {
481+"nodeId": "ba0f4e4bc...",
482+"targetId": "tab-1"
483+ }
484+}
485+```
486+487+Example JSON output from API create:
488+489+```json
490+{
491+"source": "api",
492+"meetingUri": "https://meet.google.com/abc-defg-hij",
493+"space": {
494+"name": "spaces/abc-defg-hij",
495+"meetingCode": "abc-defg-hij",
496+"meetingUri": "https://meet.google.com/abc-defg-hij"
497+ }
498+}
499+```
500+501+Creating a Meet only creates or discovers the meeting URL. The Chrome or
502+Chrome-node transport still needs a signed-in Google Chrome profile to join
503+through the browser. If the profile is signed out, OpenClaw reports
504+`manualActionRequired: true` or a browser fallback error and asks the operator
505+to finish Google login before retrying.
457506458507Set `preview.enrollmentAcknowledged: true` only after confirming your Cloud
459508project, OAuth principal, and meeting participants are enrolled in the Google
@@ -740,15 +789,20 @@ Common manual actions:
740789741790### Meeting creation fails
742791743-`googlemeet create` uses the Google Meet API `spaces.create` endpoint. Confirm:
792+`googlemeet create` first uses the Google Meet API `spaces.create` endpoint
793+when OAuth credentials are configured. Without OAuth credentials it falls back
794+to the pinned Chrome node browser. Confirm:
744795745-- `oauth.clientId` and `oauth.refreshToken` are configured, or matching
746-`OPENCLAW_GOOGLE_MEET_*` environment variables are present.
747-- The refresh token was minted after create support was added. Older tokens may
748- be missing the `meetings.space.created` scope; rerun
796+- For API creation: `oauth.clientId` and `oauth.refreshToken` are configured,
797+or matching `OPENCLAW_GOOGLE_MEET_*` environment variables are present.
798+- For API creation: the refresh token was minted after create support was
799+added. Older tokens may be missing the `meetings.space.created` scope; rerun
749800`openclaw googlemeet auth login --json` and update plugin config.
750-- The Google Cloud project and OAuth principal are allowed to use the required
751- Google Meet API scopes.
801+- For browser fallback: `defaultTransport: "chrome-node"` and
802+`chromeNode.node` point at a connected node with `browser.proxy` and
803+`googlemeet.chrome`.
804+- For browser fallback: the OpenClaw Chrome profile on that node is signed in
805+ to Google and can open `https://meet.google.com/new`.
752806753807### Agent joins but does not talk
754808此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。