Google echoes back a token response scope string that's a superset/ reordering of what was requested (asking for "youtube" got back "youtube.readonly youtube ..." too, since the broader scope implies the narrower one) -- oauthlib does a strict string comparison and raised "Warning: Scope has changed" on every reconnect attempt after the scope was widened for the unsubscribe feature, even though Google's consent screen had already granted access. OAUTHLIB_RELAX_TOKEN_SCOPE=1 disables that check, matching what Google's own behavior actually requires for any multi-scope request. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| __init__.py | ||
| download_jobs.py | ||
| google_oauth.py | ||
| metube_client.py | ||
| scheduler.py | ||
| state.py | ||
| sync.py | ||
| video_presentation.py | ||
| youtube_client.py | ||