Приведенный ниже фрагмент кода, чтобы редактировать ячейки электронной таблицы на моей учетной записи Google. Это работает, когда я запускаю код из моей IDE python (не для движка Google).Использование SignedJwtAssertionCredentials на Python Google App Engine
import webapp2
import gspread
from oauth2client.client import SignedJwtAssertionCredentials
import json
from httplib2 import Http
from gspread.exceptions import CellNotFound
import os
# folder = os.path.dirname(os.path.realpath(__file__))
# file_path = os.path.join(folder, 'clientkey.json')
json_key = json.load(open('clientkey.json'))
scope = ['https://spreadsheets.google.com/feeds']
credentials = SignedJwtAssertionCredentials(json_key['client_email'], json_key['private_key'], scope)
googleClient = gspread.authorize(credentials)
На копируя же код на Google App Engine проекта, который я развернуть, он показывает ошибку ниже.
Traceback (most recent call last):
File "C:\Program Files (x86)\Google\google_appengine\google\appengine\runtime\wsgi.py", line 240, in Handle
handler = _config_handle.add_wsgi_middleware(self._LoadHandler())
File "C:\Program Files (x86)\Google\google_appengine\google\appengine\runtime\wsgi.py", line 299, in _LoadHandler
handler, path, err = LoadObject(self._handler)
File "C:\Program Files (x86)\Google\google_appengine\google\appengine\runtime\wsgi.py", line 85, in LoadObject
obj = __import__(path[0])
File "C:\Users\CrowdStar\workspace\AppEngineThinkStudio\DominicProject\main.py", line 3, in <module>
from oauth2client.client import SignedJwtAssertionCredentials
File "C:\Users\CrowdStar\workspace\AppEngineThinkStudio\DominicProject\oauth2client\client.py", line 34, in <module>
import six
ImportError: No module named six
Я добавил модуль, требуемый, он выдает ошибку, говоря, что требуется еще один модуль. Следите за добавлением необходимых модулей, и он продолжает бросать ошибку, чтобы добавить другой модуль. Добавили более 8 модулей, чтобы заставить его работать, и он все еще говорит, что некоторые модули не будут найдены, даже если они хорошо работают вне приложения. Как это исправить.
Код может работать, потому что некоторые модули существуют на вашем компьютере, но не на экземпляре, который обрабатывает ваше приложение. Я бы предложил завершить добавление всех модулей, а затем посмотреть, что происходит после того, как все обработано. Если у вас все еще есть ошибка, тогда это подходящее место, чтобы задать свой вопрос – Patrice