■ Google App Engine SDK for PHP #4

Google App Engine SDK for PHP を使ってみる
前回記事:Google App Engine SDK for PHP #3


デプロイ

引き続きランチャー画面
[Deploy]ボタンを押してみる。

すると [Deploy Application to Google]画面が表示される。
たぶん Googleアカウントを入力するんだろう、ということで
Email: と Password にアカウントを入力し [OK]をクリック。

[Deployment To Google]というサブ画面が表示され何やら処理が開始されるが、
最後にエラーが発生してしまった。
TypeError do_open() got an unexpected keyword argument 'content'


Python再インストール

Pythonをアンインストールし、違うバージョンをダウンロード・インストールしてみた。

https://www.python.org/downloads/release/python-278/
Python 2.7.8 x84-64 MSI Installerpython-2.7.8.amd64.msi

64bit版ではLauncher起動時にエラーとなってしまう。

Python 2.7.8 x84 MSI Installerpython-2.7.8.msi

Launcherは起動できた。(Python64版は駄目みたい)
しかし[Deploy]すると違うエラーが発生
ERROR appcfg.py:2413 An error occurred processing file '': HTTP Error 401: Unauthorized. Aborting.

2段階認証失敗かな?

アプリ固有パスワードを作成してみる

Googleアカウントの2段階認証プロセス画面を開き [アプリ固有のパスワード] を作成し、作成したパスワードでログインしてみる。
別のエラーが発生
ERROR appcfg.py:2413 An error occurred processing file '': HTTP Error 403:
You do not have permission to modify this app (app_id=u'engineapp').

アプリケーション名を適当に入力したのがダメだったかな。

アプリケーション名を変更してみる

Launcher側のアプリケーション名を "Google App Engine SDK for PHP を使ってみる #2" で割り当てたApplication Identifierと同じ名前に変更してみる。

ランチャー画面で対象アプリの行を選択し [Edit]ボタンをクリック。
app.yamlの編集画面が開くので、1行目の「application: engineapp」の部分を、Application Identifier と同じ名前に変更。


結果

エラーが無くなった。
2段階認証のアプリ固有のパスワードはどこかにメモしとかないと毎回生成する羽目になる。

原因まとめ

1) Python 2.7.9は使えない。2.7.8以前の32ビット版を使用。
2) 2段階認証プロセスを有効にしているとデプロイが出来ない。
アプリ固有パスワードを生成すること。
Launcherではアカウント情報が保存されないようなので、生成したパスワードはどこかにメモしておくのが良い。
3) アプリケーション名はWEB上で登録したApplication IdentifierとLauncherで作成するアプリケーション名は同じにしておく。

次回記事:Google App Engine SDK for PHP #5


GAE学習

0 件のコメント:

その他の記事