python-samples icon indicating copy to clipboard operation
python-samples copied to clipboard

Credentials.from_authorized_user_file refresh_token is missing

Open PathTech opened this issue 4 years ago • 2 comments

Expected Behavior

quickstart.py script will give me the last 10 login as described here: https://developers.google.com/admin-sdk/reports/v1/quickstart/python

Actual Behavior

I'm trying to run the quickstart.py with a downloaded token.json for Desktop apps.

{
    "installed": {
        "client_id": "************.apps.googleusercontent.com",
        "project_id": "sentinel-314815",
        "auth_uri": "https://accounts.google.com/o/oauth2/auth",
        "token_uri": "https://oauth2.googleapis.com/token",
        "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
        "client_secret": "*************",
        "redirect_uris": [
            "urn:ietf:wg:oauth:2.0:oob",
            "http://localhost"
        ]
    }
}

It gives me the following erro:

$ python quickstart.py 
Traceback (most recent call last):
  File "quickstart.py", line 50, in <module>
    main()
  File "quickstart.py", line 20, in main
    creds = Credentials.from_authorized_user_file('token.json', SCOPES)
  File "/home/zfejer/.local/lib/python3.8/site-packages/google/oauth2/credentials.py", line 326, in from_authorized_user_file
    return cls.from_authorized_user_info(data, scopes)
  File "/home/zfejer/.local/lib/python3.8/site-packages/google/oauth2/credentials.py", line 277, in from_authorized_user_info
    raise ValueError(
ValueError: Authorized user info was not in the expected format, missing fields client_secret, client_id, refresh_token.

Seems like the refresh_token is missing from my token.json. I've just generated the token.json.

Steps to Reproduce the Problem

  1. follow the instruction on the page above

Specifications

  • Python version (python --version) Python 3.8.5
  • OS (Mac/Linux/Windows) Ubuntu 20.04 on WSL2 (5.4.72-microsoft-standard-WSL2)

PathTech avatar Jun 02 '21 13:06 PathTech