То, что я пытаюсь достичь, довольно просто.Ошибка аутентификации при использовании Flask для подключения к ParseServer
Я хочу использовать Flask для создания веб-приложения, которое подключается к удаленному серверу через вызовы API (в частности, ParseServer). Я использую стороннюю библиотеку для достижения этой цели, и все работает отлично, когда я запускаю свой код в автономном скрипте. Но когда я добавляю свой код в Flask, я внезапно не могу пройти аутентификацию с сервера
А точнее, я получаю «несанкционированную» ошибку при выполнении вызова API.
Мне кажется, что в Flask метод регистрации, используемый библиотекой APi, не запоминается.
Я пробовал много вещей, связанных с регистрацией и кодом инициализации в разных местах в Flask, ничего не работало.
Я задал аналогичный вопрос в Гитубе Library без помощи.
Так что я думаю, у меня есть два вопросы, которые могли бы помочь мне решить эту проблему
1) Где я должен поставить метод регистрации и импорт файлов из этой библиотеки? &
2) Что я могу сделать, чтобы определить проблему конкретно, например. точно знать, что не так?
Вот код
Код Колба здесь
@app.route('/parseinsert')
def run_parse_db_insert():
"""The method for testing implementation and design of the Parse Db
"""
pc = ParseCommunication()
print(pc.get_all_names_rating_table())
return 'done'
ParseCommunication мой класс, который имеет дело с разбора. Если я запустил ParseCommunication из этого сценария, с тем же кодом, что и выше, в разделе main, все работает отлично.
Я запускаю приложение Flask с dev_appserver.py из Google App Engine.
Моя структура папок
/parseTest
/aplication
views.py
app.yaml
run.py
Мой run.py код
import os
import sys
sys.path.insert(1, os.path.join(os.path.abspath('.'), 'lib'))
sys.path.insert(1, os.path.join(os.path.abspath('.'), 'application'))
import aplication
Позвольте мне знать, что еще я мог бы обеспечить, чтобы помочь.
Спасибо заранее
EDIT:
Стек трассировки по запросу. Это в основном связанно с библиотекой (от того, что я могу сказать?)
ERROR 2016-09-28 06:45:50,271 app.py:1587] Exception on /parseinsert [GET]
Traceback (most recent call last):
File "/home/theshade/Devel/ParseBabynames/parseTest/lib/flask/app.py", line 1988, in wsgi_app
response = self.full_dispatch_request()
File "/home/theshade/Devel/ParseBabynames/parseTest/lib/flask/app.py", line 1641, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/home/theshade/Devel/ParseBabynames/parseTest/lib/flask/app.py", line 1544, in handle_user_exception
reraise(exc_type, exc_value, tb)
File "/home/theshade/Devel/ParseBabynames/parseTest/lib/flask/app.py", line 1639, in full_dispatch_request
rv = self.dispatch_request()
File "/home/theshade/Devel/ParseBabynames/parseTest/lib/flask/app.py", line 1625, in dispatch_request
return self.view_functions[rule.endpoint](**req.view_args)
File "/home/theshade/Devel/ParseBabynames/parseTest/aplication/views.py", line 34, in run_parse_db_insert
name = pc.get_user('testuser1')
File "/home/theshade/Devel/ParseBabynames/parseTest/aplication/parseCommunication.py", line 260, in get_user
return User.Query.get(username=uname)
File "/home/theshade/Devel/ParseBabynames/parseTest/lib/parse_rest/query.py", line 58, in get
return self.filter(**kw).get()
File "/home/theshade/Devel/ParseBabynames/parseTest/lib/parse_rest/query.py", line 150, in get
results = self._fetch()
File "/home/theshade/Devel/ParseBabynames/parseTest/lib/parse_rest/query.py", line 117, in _fetch
return self._manager._fetch(**options)
File "/home/theshade/Devel/ParseBabynames/parseTest/lib/parse_rest/query.py", line 41, in _fetch
return [klass(**it) for it in klass.GET(uri, **kw).get('results')]
File "/home/theshade/Devel/ParseBabynames/parseTest/lib/parse_rest/connection.py", line 108, in GET
return cls.execute(uri, 'GET', **kw)
File "/home/theshade/Devel/ParseBabynames/parseTest/lib/parse_rest/connection.py", line 102, in execute
raise exc(e.read())
ResourceRequestLoginRequired: {"error":"unauthorized"}
Можете ли вы предоставить stacktrace ошибки? Можете ли вы добавить журнал для каждой функции, чтобы узнать, как далеко она доходит? У вас есть взаимозаменяемое правописание: «приложение» и «приложение». Проверь это. – GAEfan
@GAEfan Благодарим за отзыв. Я отредактировал трассировку стека в вопросе. Из того, что я могу сказать, это в основном связано с библиотекой Python SDK/API, которую я использую. Но, может быть, вы можете прочитать больше, а затем меня. Еще раз спасибо за вашу помощь –
Опять же, вернемся к взаимозаменяемости «приложения» и «приложения» – GAEfan