pythongoogle-sheetsgoogle-sheets-apiservice-accounts

Why does my Google Service Account not see files shared with it, but can see files created with it?


I am using the Python Client to amend a Google Sheet shared to a Google Service Account.

Everything works as expected when using a Sheet that is created by the Service Account, but returns a Requested entity was not found error when accessing a Google Sheet that is owned by someone else but shared with the service account.

I have tried with all combinations of these definitions:

Can anyone point to what I could be doing wrong that would mean that the client can find a sheet that it creates, but not one that is shared with it?


Solution

  • Can anyone point to what I could be doing wrong that would mean that the client can find a sheet that it creates, but not one that is shared with it?

    There is a scope in Google drive, which is characteristic of your description:

    https://www.googleapis.com/auth/drive.file
    See, edit, create, and delete only the specific Google Drive files you use with this app
    

    If you're using that scope, change to a more permissive scope like

    https://www.googleapis.com/auth/drive