GermainGum
GermainGum

Reputation: 1399

List google spreadsheets created with gspread

I used gspread to create some spreadsheet.

As they are created with a google services key account, I don't know how can I access them.

How can I see all the spreadsheets created with a specific service key?

https://github.com/burnash/gspread

Upvotes: 3

Views: 1139

Answers (2)

Wisedoggs
Wisedoggs

Reputation: 1

I tried list comprehension, but it still did not solve the problem. I passed this as the second parameter to the connection.

alltogether= ','.join([str(item) for item in gendata])

Upvotes: 0

GermainGum
GermainGum

Reputation: 1399

Finally found the answer.

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

So this works :

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)

Upvotes: 3

Related Questions