Я пытаюсь использовать интерфейс на основе React для подключения к некоторым конечным точкам, размещенным в webapp2, используя Python и Google App Engine. Для начальной страницы аутентификации я использую API пользователей Google. По какой-то причине я могу выписать информацию о пользователе на свой локальный сервер разработки, но не могу получить ее, используя Fetch API Javascript, так как она возвращает None при попытке.
Я пытался записать пользователей в виде строк, но независимо от того, что они по-прежнему не возвращает ни одного.
Вот код Python:
def get(self):
user = users.get_current_user()
logout_url = users.create_logout_url('/')
login_url = users.create_login_url('/')
if user:
greeting = ('Welcome, %s! (<a href="%s">sign out</a>)' %
(user.email(), logout_url))
else:
greeting = ('<a href="%s">Sign in or register</a>.' % login_url)
if users.get_current_user():
us = users.get_current_user().email()
us = User.query(User.email == us).fetch()
if us:
pass
else:
us = User(
email= users.get_current_user().email(),
posts=[]
)
us.put()
vars = {
'data': user,
'greeting': greeting
}
self.response.headers['Content-Type'] = 'application/json'
self.response.headers.add_header('Access-Control-Allow-Origin', '*')
self.response.headers.add_header('Access-Control-Allow-Headers', 'Content-Type')
self.response.write(vars)
Когда я, например, получу доступ к http://localhost:8080, я получу ответ {'data': users.User(email='i@example.com',_user_id='14123123123'), 'greeting': 'Welcome, i@example.com! (sign out)'}
.
Однако, когда я пытаюсь получить его,
const fatch = () => fetch('http://localhost:8080')
.then(data => console.log(data.text()))
.catch((error) => console.log(error))
Я получу ответ, в котором нет информации о пользователе:
{'data': None, 'greeting': '<a href="/_ah/login?co…3A//localhost%3A8080/">Sign in or register</a>.'}
Любая помощь будет принята с благодарностью. Спасибо!