From d3698e1f786252d1a9aa32d5cdf930a2e7bc3104 Mon Sep 17 00:00:00 2001 From: AIKAWA Shigechika Date: Sat, 2 May 2026 20:02:09 +0900 Subject: [PATCH 1/2] fix(auth): map meet service to meetings scope prefix gws auth login -s meet silently requested zero Meet scopes because the Meet API exposes scopes under the meetings.* prefix, not meet.*. Add the mapping so the existing dynamic-augmentation path picks up all Meet scopes from the Discovery document. Mirrors upstream PR #754. --- .../google-workspace-cli/src/auth_commands.rs | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/crates/google-workspace-cli/src/auth_commands.rs b/crates/google-workspace-cli/src/auth_commands.rs index 4fda6eeb..4b4988b0 100644 --- a/crates/google-workspace-cli/src/auth_commands.rs +++ b/crates/google-workspace-cli/src/auth_commands.rs @@ -841,6 +841,7 @@ fn map_service_to_scope_prefixes(service: &str) -> Vec<&str> { "slides" => vec!["presentations"], "docs" => vec!["documents"], "people" => vec!["contacts", "directory"], + "meet" => vec!["meetings"], s => vec![s], } } @@ -2269,6 +2270,23 @@ mod tests { )); } + #[test] + fn scope_matches_service_meet() { + let services: HashSet = ["meet"].iter().map(|s| s.to_string()).collect(); + assert!(scope_matches_service( + "https://www.googleapis.com/auth/meetings.space.created", + &services + )); + assert!(scope_matches_service( + "https://www.googleapis.com/auth/meetings.space.readonly", + &services + )); + assert!(scope_matches_service( + "https://www.googleapis.com/auth/meetings.space.settings", + &services + )); + } + // ── services filter integration tests ──────────────────────────────── #[test] From 432a9b02f6c34796381ca2d7ec40266cce941029 Mon Sep 17 00:00:00 2001 From: AIKAWA Shigechika Date: Sat, 2 May 2026 20:04:06 +0900 Subject: [PATCH 2/2] chore: add changeset for meet scope fix --- .changeset/auth-meet-scope.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/auth-meet-scope.md diff --git a/.changeset/auth-meet-scope.md b/.changeset/auth-meet-scope.md new file mode 100644 index 00000000..0899aee3 --- /dev/null +++ b/.changeset/auth-meet-scope.md @@ -0,0 +1,5 @@ +--- +"@googleworkspace/cli": patch +--- + +Fix `gws auth login -s meet` not granting any Meet scopes. The Meet API exposes scopes under the `meetings.*` prefix (e.g. `meetings.space.readonly`), but the CLI service alias is `meet`, so the scope-picker filter matched nothing and silently dropped every Meet scope. Map the `meet` service to the `meetings` scope prefix so the existing dynamic-augmentation path pulls all Meet scopes from the Discovery document when `-s meet` is supplied.