#gog People API - can't get it to work. gog gmail & calendar are working. macOS Terminal.
1 messages · Page 1 of 1 (latest)
That error is usually about the Google Cloud project behind the OAuth client that gog is actually using, not the Google account itself. Gmail/Calendar working only proves those APIs/scopes are okay for that client; People/Contacts is separate.
I’d check it in this order:
- Confirm which gog OAuth client is active:
gog auth credentials list
If you’re using a named client/domain mapping, make sure you’re enabling People API in that client’s GCP project, not another project.
-
In Google Cloud Console, open the project that owns that OAuth Desktop client and enable People API from the API Library. It’s the API used for Contacts/People.
-
Re-authorize so your stored refresh token includes the contacts scopes:
gog auth add your@gmail.com --services gmail,calendar,contacts --force-consent
If you use a named client, include it:
gog --client work auth add your@gmail.com --services gmail,calendar,contacts --force-consent
- Then verify:
gog auth list --check
gog contacts list --max 1
If it still says People API isn’t enabled after that, paste the exact command + error and the output of gog auth credentials list with any client secrets redacted. My bet is either gog is selecting a different OAuth client than the one you edited, or the existing token was minted before contacts/People scopes were added.
Refs: https://docs.openclaw.ai/help/faq and gog’s auth/client docs: https://gogcli.sh
gog contacts list --max 5
Yep — please run that and paste the full output/error from:
gog contacts list --max 5
Also useful right after it:
gog auth credentials list
gog auth list --check
gog --version
Redact anything that looks like a client secret/token, but the client names/project-ish info and exact error text matter here.
People API is not enabled for this OAuth project.
Enable it at: https://console.developers.google.com/apis/api/people.googleapis.com/overview
Then retry the command. If you enabled it on a different OAuth client, re-authenticate with: gog auth add <account> --services contacts
Good, that confirms gog itself is failing before it can read contacts.
The important bit is: that URL may open whatever GCP project your browser currently has selected. Make sure it’s the project that owns the OAuth Desktop client JSON currently stored in gog.
Do this:
gog auth credentials list
Then identify the active client. If it says default, the file is usually here on macOS:
cat ~/Library/Application\ Support/gogcli/credentials.json | grep client_id
If it’s a named client, check:
cat ~/Library/Application\ Support/gogcli/credentials-CLIENTNAME.json | grep client_id
In Google Cloud Console, go to APIs & Services → Credentials, find that exact OAuth client ID, switch to its project, then enable People API there.
After enabling it, re-auth contacts:
gog auth add <your-email> --services contacts --force-consent
Or if you use a named client:
gog --client CLIENTNAME auth add <your-email> --services contacts --force-consent
Then retry:
gog contacts list --max 5
If that still fails, paste gog auth credentials list output. Don’t paste the client secret — just the client name/path is enough.
gog auth credentials list CLIENT PATH DOMAINS
default /Users/cmhippyhf2/Library/Application Support/gogcli/credentials.json. gog auth list --check
xxxxxx@gmail.com default calendar,contacts,gmail 2026-05-14T02:01:51Z true oauth
Nice, that says the token does have contacts, so this is almost certainly not a scope problem anymore. It’s the OAuth client’s GCP project.
Please check the project embedded in that exact credentials file:
python3 - <<'PY'
import json, pathlib
p = pathlib.Path.home() / "Library/Application Support/gogcli/credentials.json"
d = json.load(open(p))
c = d.get("installed") or d.get("web") or d
print("project_id:", c.get("project_id"))
print("client_id:", c.get("client_id"))
PY
Then open this, replacing PROJECT_ID with that printed value:
https://console.cloud.google.com/apis/library/people.googleapis.com?project=PROJECT_ID
Enable it there, wait ~1 minute, then retry:
gog contacts list --max 5
If it says enabled already, go to APIs & Services → Credentials in that same project and confirm the OAuth Desktop client’s client_id matches the one printed above. If it doesn’t match, gog is using a different credentials.json than the project you configured.
I did not understand Please check the project embedded in that exact credentials file:
python3 - <<'PY'
import json, pathlib
p = pathlib.Path.home() / "Library/Application Support/gogcli/credentials.json"
d = json.load(open(p))
c = d.get("installed") or d.get("web") or d
print("project_id:", c.get("project_id"))
print("client_id:", c.get("client_id"))
PY
No worries — that block was just a way to print which Google Cloud project your saved gog credentials belong to.
Simpler version:
- Open Finder.
- Press Cmd + Shift + G.
- Paste this path:
~/Library/Application Support/gogcli/credentials.json
- Open that file in TextEdit.
- Look for these two lines:
"project_id": "..."
"client_id": "..."
The project_id is the Google Cloud project where People API must be enabled.
Then open:
https://console.cloud.google.com/apis/library/people.googleapis.com
At the top of Google Cloud Console, switch the selected project to the project_id from that file, then click Enable for People API.
The reason this matters: your browser may be showing a different Google Cloud project than the OAuth client that gog is actually using.
In the credentials.json file, I don't have project_id:. I have client_id and client_secret.
That’s okay — some Google client JSON files don’t include project_id.
Use the client_id instead. It usually looks like:
123456789012-abcdefg.apps.googleusercontent.com
The number before the dash is the Google Cloud project number. Open People API with that project selected by using:
https://console.cloud.google.com/apis/library/people.googleapis.com?project=123456789012
Replace 123456789012 with the number at the start of your client_id.
Then click Enable for People API. After it’s enabled, wait a minute and run:
gog auth add xxxxxx@gmail.com --services contacts --force-consent
gog contacts list --max 5
If Google Console says you don’t have access to that project, then the credentials.json came from a different Google Cloud project/account than the one you’ve been editing. In that case, easiest fix is to create/download a new Desktop OAuth client JSON from the project where you enabled People API, then run:
gog auth credentials ~/Downloads/client_secret_*.json
gog auth add xxxxxx@gmail.com --services gmail,calendar,contacts --force-consent
How do I do create/download a new Desktop OAuth client JSON from the project where I enabled People API?
Here’s the clean path:
-
Open Google Cloud Console:
https://console.cloud.google.com/ -
At the top project picker, select the project where you already enabled People API.
-
Make sure OAuth is configured:
- Go to APIs & Services → OAuth consent screen / Google Auth Platform
- If it asks, choose External
- Add your Gmail address as a test user if the app is still in Testing
- Save
- Create the Desktop OAuth client:
- Go to APIs & Services → Credentials
- Click + Create Credentials
- Choose OAuth client ID
- Application type: Desktop app
- Name it something like
gog desktop - Click Create
- Click Download JSON
- In Terminal, store that new JSON in gog:
gog auth credentials ~/Downloads/client_secret_*.json
- Re-authorize with the services you want:
gog auth add xxxxxx@gmail.com --services gmail,calendar,contacts --force-consent
- Test:
gog contacts list --max 5
Important: don’t paste the downloaded JSON here — it contains client_secret. If step 5 finds multiple client_secret_*.json files, either move old ones out of Downloads or use the exact filename.
So gog contacts command is now working. But gog email and calendar are not.
Nice, progress 🎉
If contacts just started working but Gmail + Calendar stopped, the most likely cause is that the Google OAuth token for that account was re-created with only the contacts/People scope. gog needs the Gmail and Calendar scopes on the same account token too.
Please run these and paste the output/error:
openclaw --version
gog auth list
gog gmail search 'newer_than:7d' --max 1 --json
gog calendar calendars --json
Then try re-authorizing the account with all needed services in one go:
gog auth add you@gmail.com --services gmail,calendar,contacts
Use your real Google account there. If Google still denies Gmail/Calendar after that, check the GCP project has Gmail API, Google Calendar API, and People API enabled, then re-run the auth add command.
Docs/refs: https://docs.openclaw.ai/help/faq and gog setup from the bundled skill is gog auth add you@gmail.com --services gmail,calendar,drive,contacts,docs,sheets.
I think I'm going to redo the whole gog thing. There seems to be a conflict or duplicate projects. Thanks for your help. We almost got it.
That honestly sounds reasonable — duplicate/old GCP OAuth projects can get weird fast.
If you redo it, I’d do it cleanly but recoverably:
openclaw --version
gog auth list
Then in Google Cloud Console, pick one project and make sure these APIs are enabled:
- Gmail API
- Google Calendar API
- People API
Create/download one OAuth Desktop client JSON from that same project, then:
gog auth credentials /path/to/client_secret.json
gog auth add you@gmail.com --services gmail,calendar,contacts
If you want to clear old local gog auth state, I’d move/backup the old files rather than delete them outright, just in case. Then run:
gog auth list
gog contacts list --max 1
gog gmail search 'newer_than:7d' --max 1
gog calendar events primary --from 2026-05-14T00:00:00Z --to 2026-05-21T00:00:00Z
We were close — I think a single clean OAuth project + reauth with all three services should shake this loose. 🦞
OpenClaw 2026.5.7 (eeef486). abcdefg@gmail.com default calendar,contacts,gmail 2026-05-14T13:14:03Z oauth
That gog auth list line actually looks healthy: the default account has calendar,contacts,gmail on one OAuth token.
So before nuking it all, I’d run the three direct probes and compare the exact error:
gog contacts list --max 1 --json
gog gmail search 'newer_than:7d' --max 1 --json
gog calendar events primary --from 2026-05-14T00:00:00Z --to 2026-05-21T00:00:00Z --json
If Gmail/Calendar fail but contacts works, paste the exact error text — at this point it’s probably not “missing scopes” anymore, it’s likely API enablement, calendar id/access, or a gog bug in that command path.
Small privacy note: if that’s your real email, you may want to edit/redact it from the thread. 🦞