2016-04-18 6 views
3

После 2 дней чтения gspread docs, gspread сообщений в блогах и следующих за большинством recent docs for using gspread Мне еще не удалось открыть ни одну таблицу Google. Я установил учетную запись службы API GDrive. Похоже, что мои учетные данные OAuth2 работают, но я все равно получаю постоянные ошибки «SpreadsheetNotFound».Как отлаживать постоянные ошибки «SpreadsheetNotFound» с использованием python gspread

Мой код выглядит примерно так и работает без сообщений об ошибках, пока он не пытается открыть таблицу Google:

import gspread 
from oauth2client.service_account import ServiceAccountCredentials 

scope = ['https://spreadsheets.google.com/feeds'] 

jsonfile = '/path/Python-data-GSpreadsheets-dbbc-99.json' 
credentials = ServiceAccountCredentials.from_json_keyfile_name(jsonfile,scope) 

# get authorized to access data 
gc = gspread.authorize(credentials) 
# gc returns with no error messages, so far OK 
wks = gc.open('SSTEst123').sheet1 #fails here 
#throws SpreadsheetNotFound error 

Да, я добавил свой GMAIL адрес электронной почты, уполномочено редактировать (пробовал с и без), так как учетная запись службы должна иметь доступ ко всем моим данным в любом случае, и я оставляю за собой свою таблицу.

Что еще я могу попытаться выяснить, почему это не удается? Любые идеи о том, как отлаживать, почему он не может открыть таблицу?

ОК, вот как я его решил. Чтобы поделиться моими таблицами с адресом электронной почты службы Google Диска API (например, [email protected]) - (Думал, что это был мой «настоящий» идентификатор Gmail/электронная почта, но это не было)

для отладки фида ... Добавлено несколько печатей() линия в gspread источника client.py, чтобы увидеть, если я получал что-нибудь в корме, и проверьте значения из фида. Заметил, что я получал значение, старое значение (из предыдущего скрипта?)

Завершите работу и перезагрузите ноутбук iPython, и теперь он работает.

ответ

0

OK, проблема решена. Вот что я сделал, чтобы понять это:

Добавил несколько строк print() в источнике client.py, чтобы узнать, получаю ли я что-нибудь в фиде и проверять значения из фида. Заметил, что я получал значение, старое значение (из предыдущего скрипта?)

Завершите работу и перезагрузите ноутбук iPython, и теперь он работает.

+0

Не могли бы вы немного рассказать о том, как вы думаете, что у вас есть эта работа и что вы смогли узнать из заявлений на печать? У меня такая же проблема, как вы описали выше. Мне не показалось, что мое приложение GDrive имеет доступ к «моим» документам google. – Robert

+0

Nevermind! Сработало! Используя ту же самую документацию, о которой вы упоминали: http://gspread.readthedocs.org/en/latest/oauth2.html#using-signed-credentials – Robert

+0

Также мне пришлось делиться моими таблицами с адресом электронной почты службы Google Диска API (например, [email protected]) – BigDoug

 Смежные вопросы

  • Нет связанных вопросов^_^