2016-03-19 8 views
0

Python App Engine Sandboxと完全に連携するIDツールキットの取得に問題があります。 sample providedは、GAEサンドボックスプロジェクトではありません。Pythonアプリケーションエンジンで動作するp12ファイルを取得する方法

サンプルプロジェクトでは、os.pathを使用してファイルからgitkit-server-config.jsonを読み込みます。しかし、これはGAE Sandboxではサポートされていません。これを回避するために私が直接コンストラクタを使用してGitkitClientを作成しています:

gitkit_instance = gitkitclient.GitkitClient(
    client_id="123456opg.apps.googleusercontent.com", 
    service_account_email="[email protected]", 
    service_account_key="/path/to/my-p12file.p12", 
    widget_url="http://localhost:8080/callback", 
    http=None, 
    project_id="my-project") 

これはGitkitClientを作成するための正しい方法は何ですか? dev_appserver.pyを使用してローカルで実行しているとき、私は、パスワードのリセットを行うにしようとすると

問題は、今私は、次のスタックトレースを取得している:

File "dashboard.py", line 89, in post 
    oobResult = gitkit_instance.GetOobResult(self.request.POST,self.request.remote_addr) 
    File "identitytoolkit/gitkitclient.py", line 366, in GetOobResult 
    param['action']) 
    File "identitytoolkit/gitkitclient.py", line 435, in _BuildOobLink 
    code = self.rpc_helper.GetOobCode(param) 
    File "identitytoolkit/rpchelper.py", line 104, in GetOobCode 
    response = self._InvokeGitkitApi('getOobConfirmationCode', request) 
    File "identitytoolkit/rpchelper.py", line 210, in _InvokeGitkitApi 
    access_token = self._GetAccessToken() 
    File "identitytoolkit/rpchelper.py", line 231, in _GetAccessToken 
    'assertion': self._GenerateAssertion(), 
    File "identitytoolkit/rpchelper.py", line 259, in _GenerateAssertion 
    crypt.Signer.from_string(self.service_account_key), 
    File "oauth2client/_pure_python_crypt.py", line 183, in from_string 
    raise ValueError('No key could be detected.') 
ValueError: No key could be detected. 

イムは、これは.P12ファイルに問題があると仮定すると?私はダブルチェックservice_account_key="/path/to/my-p12file.p12"とファイルが存在します。私はここで何が欠けていますか?将来的にこれに取り組んで他の人にFYI

答えて

0

-

私はpythonでこの作業を取得できませんでした。ドキュメントでは、これをアプリエンジンで動作させる方法を明確にしていません。さらに、PyCryptoの依存性の問題は、これをgccおよび依存関係の悪夢にしました。

は、しかし私はゴーでこの作業を取得することができたと issuespull requestページで強調表示いくつかの変更で動作します semi-working exampleオンラインがあります。がんばろう。