gpt4 book ai didi

python - 使用 Flask 连接 ParseServer 时出现身份验证错误

转载 作者:太空宇宙 更新时间:2023-11-03 16:06:27 25 4
gpt4 key购买 nike

我想要实现的目标非常简单。

我想使用 Flask 创建一个 Web 应用程序,通过 API 调用(特别是 ParseServer)连接到远程服务器。我正在使用第三方库来实现此目的,当我在独立脚本中运行代码时,一切都运行良好。但是当我将代码添加到 Flask 中时,我突然无法通过服务器进行身份验证

Or to be more precise I get an 'unauthorized' error when executing an API call.

在我看来,在 Flask 中,APi 库使用的注册方法是不被记住的。

我尝试了很多将注册和初始化代码放在 Flask 中不同位置的方法,但没有任何效果。

我在Library的Github上问了类似的问题没有帮助。

所以我想我有两个问题可以帮助我解决这个问题

1) 我应该在哪里放置注册方法并从该库导入文件?&

2)我可以做什么来具体识别问题,例如。准确地知道出了什么问题?

这是一些代码

Flask 代码在这里

@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 是我处理 Parse 的类。如果我从该脚本运行 ParseCommunication,并且在 ma​​in 部分使用与上面相同的代码,一切都会完美运行。

我使用来自 Google App Engine 的 dev_appserver.py 运行 Flask 应用。

我的文件夹结构

/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

请告诉我我还能提供什么帮助。

提前谢谢您

编辑:

按要求提供堆栈跟踪。它主要与图书馆有关(据我所知?)

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"}

最佳答案

解析需要键和环境变量。检查这一行:

API_ROOT = os.environ.get('PARSE_API_ROOT') 或 'https://api.parse.com/1'

您的错误位于第 102 行:

https://github.com/milesrichardson/ParsePy/blob/master/parse_rest/connection.py

在解析之前,您需要注册:

from parse_rest.connection import register

APPLICATION_ID = '...'
REST_API_KEY = '...'
MASTER_KEY = '...'

register(APPLICATION_ID, REST_API_KEY, master_key=MASTER_KEY)

关于python - 使用 Flask 连接 ParseServer 时出现身份验证错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39731315/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com