Использовал gdata для обновления файла электронной таблицы на моем диске с помощью python на appengine. Все работает нормально до недавнего времени, код начал сталкиваться с ошибкой.Ошибка авторизации в таблице gdata
import webapp2
import gdata.spreadsheet.text_db
from google.appengine.api import mail
client = gdata.spreadsheet.text_db.DatabaseClient(username='[email protected]', password='passsword')
class createSurvey(webapp2.RequestHandler):
def get(self):
db = client.CreateDatabase("Project")// this line started to show the error below.
.
Traceback (most recent call last):
File "<pyshell#3>", line 1, in <module>
db = client.CreateDatabase("Project")
File "C:\Python27\lib\gdata\spreadsheet\text_db.py", line 146, in CreateDatabase
db_entry = self.__docs_client.UploadSpreadsheet(virtual_media_source, name)
File "C:\Python27\lib\atom\__init__.py", line 1475, in deprecated_function
return f(*args, **kwargs)
File "C:\Python27\lib\gdata\docs\service.py", line 466, in UploadSpreadsheet
folder_or_uri=folder_or_uri)
File "C:\Python27\lib\gdata\docs\service.py", line 161, in _UploadFile
converter=gdata.docs.DocumentListEntryFromString)
File "C:\Python27\lib\gdata\service.py", line 1236, in Post
media_source=media_source, converter=converter)
File "C:\Python27\lib\gdata\service.py", line 1358, in PostOrPut
'reason': server_response.reason, 'body': result_body}
RequestError: {'status': 401, 'body': '<HTML>\n<HEAD>\n<TITLE>Authorization required</TITLE>\n</HEAD>\n<BODY BGCOLOR="#FFFFFF" TEXT="#000000">\n<H1>Authorization required</H1>\n<H2>Error 401</H2>\n</BODY>\n</HTML>\n', 'reason': 'Authorization required'}
Первоначально думали, что это ограничение на файл, но я сделал его открытым и до сих пор не работает. Как я могу это исправить .
Вы видели это? https://code.google.com/a/google.com/p/apps-api-issues/issues/detail?id=3851#c2 Неправильно использовать ваши учетные данные в исходном коде таким образом. –
Да, у меня есть. Сделал это так ради этого вопроса. –
Так не отвечает ли на ваш вопрос вопрос? Или это не работает с oAuth2? –