Skip to content

feat(auth): add places api key management#140

Closed
salmonumbrella wants to merge 2 commits into
openclaw:mainfrom
salmonumbrella:feat/issue-138-places-clean
Closed

feat(auth): add places api key management#140
salmonumbrella wants to merge 2 commits into
openclaw:mainfrom
salmonumbrella:feat/issue-138-places-clean

Conversation

@salmonumbrella
Copy link
Copy Markdown
Contributor

Summary

  • Add gog auth places-key commands (set/status/clear) for managing Google Places API key
  • Support multiple storage backends: keychain (recommended), config file, or environment variable
  • Integrate Places API with calendar commands via --location-search and --place-id flags
  • Add Places API key management to gog auth manage web UI

Closes #138

Test Plan

  • Unit tests for internal/places/apikey.go (MaskAPIKey, empty key validation)
  • Integration tests for auth places-key commands
  • Integration tests for calendar create/update with Places flags
  • All existing tests pass

🤖 Generated with Claude Code

@salmonumbrella salmonumbrella force-pushed the feat/issue-138-places-clean branch from 2f64a6b to f1d9f49 Compare January 30, 2026 00:02
- Use static error variable instead of dynamic errors.New()
- Use scopeAll constant instead of "all" string literal
- Fix variable shadowing in test files and handlers
- Add required blank lines per wsl_v5 rules
- Remove unused nolint directive

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@steipete
Copy link
Copy Markdown
Collaborator

steipete commented May 9, 2026

Thanks @salmonumbrella. I reviewed this against the current Places API (New) docs and landed a smaller replacement on main in f550ae5, with final CI/lint cleanup through 57080af.

The original branch was stale/conflicting, so I did not merge it directly. The landed version adds direct Places Text Search / Place Details support without a new dependency, plus calendar create/update --location-search and --place-id. One important API detail: Google Calendar events only expose a free-form location string here, not a writable Calendar place-id field, so gog stores the resolved gog.place_id and gog.place_maps_uri in private extended properties.

Live proof: resolved “Elysian Coffee Vancouver” with Places API and dry-ran a Calendar create showing the canonical location plus private place metadata. Docs/README/generated command docs/changelog updated. CI is green on main: 25601394551. Closing this PR as replaced by the landed implementation.

@steipete steipete closed this May 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Feature request: Google Places lookup for calendar event locations

2 participants