2016-12-16 4 views
0

タイトルに示されているように、私のフラスコのアプリが動作しようとすると、このエラーが表示されます。GAE/Flask [Errno 13]アクセスが拒否されました

私はアプリケーションをdev_appserverを使用してローカルにホストしています。

私はサイトにアクセスしてアプリケーションを実行しようとするとエラーが発生します。 GAEは何らかの理由でソケットをバインドしようとしていると思われます。

これはOAuth2と関係があると思われます。 SSL接続が必要なのでしょうか?

私はこの問題の同じバリエーションを経験している他の投稿はありません。

編集:ここに、GAEサーバが別のポートで正常に起動したことを確認するコンソールのスクリーンショットがあります。まだコード(GoogleのOAuth2 usage guideに見られるように)

enter image description here

Traceback (most recent call last): 
    File "C:\Users\XXX\AppData\Local\Google\Cloud SDK\google-cloud-sdk\platform\google_appengine\google\appengine\runtime\wsgi.py", line 240, in Handle 
     handler = _config_handle.add_wsgi_middleware(self._LoadHandler()) 
    File "C:\Users\XXX\AppData\Local\Google\Cloud SDK\google-cloud-sdk\platform\google_appengine\google\appengine\runtime\wsgi.py", line 299, in _LoadHandler 
     handler, path, err = LoadObject(self._handler) 
    File "C:\Users\XXX\AppData\Local\Google\Cloud SDK\google-cloud-sdk\platform\google_appengine\google\appengine\runtime\wsgi.py", line 85, in LoadObject 
     obj = __import__(path[0]) 
    File "C:\Users\XXX\PycharmProjects\ad-assignment\main.py", line 51, in <module> 
     app.run() 
    File "C:\Users\XXX\PycharmProjects\ad-assignment\lib\flask\app.py", line 843, in run 
     run_simple(host, port, self, **options) 
    File "C:\Users\XXX\PycharmProjects\ad-assignment\lib\werkzeug\serving.py", line 694, in run_simple 
     inner() 
    File "C:\Users\XXX\PycharmProjects\ad-assignment\lib\werkzeug\serving.py", line 656, in inner 
     fd=fd) 
    File "C:\Users\XXX\PycharmProjects\ad-assignment\lib\werkzeug\serving.py", line 550, in make_server 
     passthrough_errors, ssl_context, fd=fd) 
    File "C:\Users\XXX\PycharmProjects\ad-assignment\lib\werkzeug\serving.py", line 464, in __init__ 
     HTTPServer.__init__(self, (host, int(port)), handler) 
    File "C:\Python27\Lib\SocketServer.py", line 417, in __init__ 
     self.server_bind() 
    File "C:\Python27\Lib\BaseHTTPServer.py", line 108, in server_bind 
     SocketServer.TCPServer.server_bind(self) 
    File "C:\Python27\Lib\SocketServer.py", line 431, in server_bind 
     self.socket.bind(self.server_address) 
    File "C:\Users\XXX\AppData\Local\Google\Cloud SDK\google-cloud-sdk\platform\google_appengine\google\appengine\dist27\socket.py", line 222, in meth 
     return getattr(self._sock,name)(*args) 
    File "C:\Users\XXX\AppData\Local\Google\Cloud SDK\google-cloud-sdk\platform\google_appengine\google\appengine\api\remote_socket\_remote_socket.py", line 676, in bind 
     raise _SystemExceptionFromAppError(e) 
error: [Errno 13] Permission denied 
INFO  2016-12-16 21:41:51,631 module.py:788] default: "GET /oauth2callback?code=x/xxxxxxxxxxxxxxxxx HTTP/1.1" 500 - 

それを解決しません:

import flask 


app = flask.Flask(__name__) 

@app.route('/') 
def index(): 
    ... 


@app.route('/oauth2callback') 
def oauth2callback(): 
    ... 


if __name__ == 'main': 
    import uuid 
    app.secret_key = str(uuid.uuid4()) 
    app.debug = False 
    app.run() 
+0

ローカルマシンでこれを実行しようとしていますか? – Nilesh

+0

別のポートを試しましたか?ポートが使用されている可能性があります。 – kichik

+0

はいローカルで実行しています。私はガイドにちょうど従っていたので、私はどこにでも港を設定していません。アプリケーションはGAEのdev_appserverによってホストされ、デフォルトではポート8080 – Shaffanhoon

答えて

1

我々はtutorial that walks you through adding Firebase Authentication to your Python app running with Flaskを持っています。 Firebase認証は現在、IDツールキットとして推奨されています。もちろん、純粋なOAuth2フローを使用することはできますが、Firebase Authは、アプリに追加することを検討していた場合はマルチプロバイダ認証も提供します。サンプルのコードにちょうど触れたいと思えばhere on GitHub

真っ直ぐなOAuthに固執したいのであれば、Flaskコードそのものを見たいかもしれません。 Getting flask to run is pretty easy on App Engine。私の推測では、(flask.run())にする必要のないコードを呼び出しているか、importing your library properlyappengine_config.pyを参照)ではないということです。

+0

Firebaseソリューションは、私が最終的に進入する方向に見えるので、これを答えとしてマークします。とても助かりました。ありがとう! – Shaffanhoon

関連する問題