PyDrive: Invalid client secrets file

前端 未结 5 1521
轻奢々
轻奢々 2021-02-14 15:23

I am trying to use PyDrive to get a list of all files in my Google Drive. I have read through the docs and completed all steps. I have client secrets.json saved down, but I cont

5条回答
  •  清酒与你
    2021-02-14 15:27

    Based on the error log, your program cannot find the file: 'client_secrets.json'. This file is essential as it helps identify your program to the Google API.

    Steps to get the authentication going:

    1. Request Google Drive API access through Google Cloud Console

      Steps explained at: https://pythonhosted.org/PyDrive/quickstart.html

      I am copying and updating the instructions from the original page in case the site is made unavailable in the future:

      Instructions for getting Google Drive API access

      Go to Google Developers Console - https://console.developers.google.com and create a new project

      Click on Enable and manage APIs, click on Drive API, then click on Enable API.

      In API Manager, click on Credentials on the left panel. Select Add Credentials, choose OAuth 2.0 client ID, then Web Application. You may need to configure a consent screen, where the required part is the Product name, and the rest you can leave blank.

      In the Create client ID window, with Web application selected as Application type, specify the Name for your application, put http://localhost:8080 for Javascript origins and http://localhost:8080/ for redirect URIs. IMPORTANT: One of these ends with /, the other does not.

    2. Download the client_secrets.json file from Google Developers Console

      Go to Google Developers Console -https://console.developers.google.com and find the Use Google API section and click on Enable and manage APIs. Select Credentials on the left panel. You should see a list of your OAuth 2.0 client IDs. Check off the one you've created in step 1, and click on the download JSON button(looks like an arrow down icon). Rename the downloaded file to client_secrets.json.

    3. Place the client_secrets.json into the project directory

      It is best to place the downloaded client_secrets.json file in the same directory as your python program that has the following line: gauth.LocalWebserverAuth()

    Once you got the authentication going, I would recommend you use the code from the answer https://stackoverflow.com/a/24542604/820173 to save the credentials so that you don't have to authenticate every time you run your code.

    For more advanced users, it is possible to create a settings.yaml file with advanced credential savings techniques. Examples described in the test files for the PyDrive project: https://github.com/googledrive/PyDrive/tree/master/pydrive/test I would like to mention that this advanced stuff is not necessary to get things going, all you need are the 3 steps explained in this answer.

提交回复
热议问题