#gog People API - can't get it to work. gog gmail & calendar are working. macOS Terminal.

1 messages · Page 1 of 1 (latest)

hot condor
#

OpenClaw 2026.5.7, Ollama 0.23.4, Gemma4:34b, 2020 Mac Mini M1 16GB RAM
In Terminal, gog commands for Google gmail and Google calendar work just fine. But even after going thru the steps to add the People API to my Google Cloud Console project, I get People API is not enabled for this OAuth project.

jolly glacierBOT
#

To help others find answers, you can mark your question as solved via Right click solution message -> Apps -> âś… Mark Solution

minor hornetBOT
#

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:

  1. 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.

  1. 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.

  2. 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
  1. 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

hot condor
#

gog contacts list --max 5

minor hornetBOT
#

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.

hot condor
minor hornetBOT
#

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.

hot condor
#

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

minor hornetBOT
#

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.

hot condor
#

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

minor hornetBOT
#

No worries — that block was just a way to print which Google Cloud project your saved gog credentials belong to.

Simpler version:

  1. Open Finder.
  2. Press Cmd + Shift + G.
  3. Paste this path:
~/Library/Application Support/gogcli/credentials.json
  1. Open that file in TextEdit.
  2. 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.

hot condor
#

In the credentials.json file, I don't have project_id:. I have client_id and client_secret.

minor hornetBOT
#

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
hot condor
#

How do I do create/download a new Desktop OAuth client JSON from the project where I enabled People API?

minor hornetBOT
#

Here’s the clean path:

  1. Open Google Cloud Console:
    https://console.cloud.google.com/

  2. At the top project picker, select the project where you already enabled People API.

  3. 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
  1. 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
  1. In Terminal, store that new JSON in gog:
gog auth credentials ~/Downloads/client_secret_*.json
  1. Re-authorize with the services you want:
gog auth add xxxxxx@gmail.com --services gmail,calendar,contacts --force-consent
  1. 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.

hot condor
#

So gog contacts command is now working. But gog email and calendar are not.

minor hornetBOT
#

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.

hot condor
#

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.

minor hornetBOT
# hot condor I think I'm going to redo the whole gog thing. There seems to be a conflict or d...

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:

minor hornetBOT
# hot condor I think I'm going to redo the whole gog thing. There seems to be a conflict or d...
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. 🦞

hot condor
#

OpenClaw 2026.5.7 (eeef486). abcdefg@gmail.com default calendar,contacts,gmail 2026-05-14T13:14:03Z oauth

minor hornetBOT
# hot condor OpenClaw 2026.5.7 (eeef486). abcdefg@gmail.com default calendar,contacts,...

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. 🦞