I'd like to access my personal Google Drive programmatically from Python, but I'm confused by the documentation. The Python aspects are trivial, but what I don't understand at all is the general authentication setup. The documentation links to other topics related to creating Google Cloud Projects, managing the apps, managing users, client IDs, creating credentials etc. All that seems overkill if I only want to access my personal Google Drive with just my personal user. Currently I'm stuck at the point that my app hasn't been verified by Google.
Is there a simpler way to authenticate with Google Drive without having to create an entire app?
There are serval ways to access data on Google apis. There are three main things to consider.
For the first one you can use something called a public api key which just denotes to google whos application is accessing their api.
For the second option we use Oauth2, which will pop up a consent screen to request that the user consent to access of their data. The issue with Oauth2 is that your app will need to be verified and while it is in the testing phase your refresh token will only be good for seven days, and then you will need to approve consent again.
For the third option you can use something called a service account. Service accounts are like dummy users they can be pre authorized to access private data. You do this by simply sharing for example your file on google drive with the service account. It can then access that file without needing user interaction to click on the consent screen.
The nice thing about service accounts is that your app does not need to be verified. By the sounds of it this is something you should consider.
When you create your service account credentials. Take the service account client looks like an email address and share the file with it just like you would any other user from the google drive web app
Here are a few tutorials on how to authorize with a service account. Neither are for Drive but you should be able to just grab the authorization section and apply it to your current drive service object.