私が達成しようとしていることはかなりシンプルです。Flaskを使用してParseServerに接続する際の認証エラー
API呼び出し(具体的にはParseServer)を使用してリモートサーバーに接続するWebアプリケーションを作成するには、Flaskを使用します。 これを達成するためにサードパーティのライブラリを使用しています。スタンドアロンスクリプトでコードを実行しているときは、すべてが完全に機能します。しかし、Flaskにコードを追加すると、突然サーバーで認証できなくなる。
また、API呼び出しを実行するときに「不正な」エラーが発生する。
Flaskでは、APiライブラリで使用されている登録方法が記憶されていないようです。
フラスケの別の場所に登録と初期化コードを置いたことを多く試してみましたが、何も働いていませんでした。
Githubの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を実行すると、メインの部分と同じコードで、すべてが完全に機能します。
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
私は助けるために提供することができます他に何を知ってみましょう。要求されたよう
スタックトレース:
は、事前に
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