Python – Lists Google spreadsheets created using gspread

Lists Google spreadsheets created using gspread… here is a solution to the problem.

Lists Google spreadsheets created using gspread

I created some spreadsheets using gspread.

Because they were created with a Google service key account, I don’t know how to access them.

How do I view all spreadsheets created with a specific service key?

https://github.com/burnash/gspread

Solution

Finally found the answer.

Looking directly at the gspread code, I found this: https://github.com/burnash/gspread/blob/addd4940bf7e4f87aae598920facae2155e555b6/gspread/client.py#L151

So this is doable:

from oauth2client.service_account import ServiceAccountCredentials
import gspread
from gspread.ns import _ns

# If modifying these scopes, delete your previously saved credentials
# at ~/.credentials/sheets.googleapis.com-python-quickstart.json
SCOPES = ['https://spreadsheets.google.com/feeds',
          'https://www.googleapis.com/auth/drive']
CLIENT_SECRET_FILE = 'client_secret.json'
APPLICATION_NAME = 'Google Sheets API Python'

def get_credentials():
    """Gets valid user credentials from storage.

If nothing has been stored, or if the stored credentials are invalid,
    the OAuth2 flow is completed to obtain the new credentials.

Returns:
        Credentials, the obtained credential.
    """

return ServiceAccountCredentials.from_json_keyfile_name(CLIENT_SECRET_FILE, SCOPES)

credentials = get_credentials()
gc = gspread.authorize(credentials)
feed = gc.get_spreadsheets_feed()

for elem in feed.findall(_ns('entry')):
    elem_title = elem.find(_ns('title')).text
    print(elem_title)

Related Problems and Solutions