stubやらなんちゃらで迷ったけど、結局シンプルに解決した
環境
Mac OS Elcapitan
Python2.7
PyCharm
GoogleAppEngine SDK へのパスは既に通してあります
実装
ConfigureRemoteApi をいい感じに使う
def initialize(): try: import dev_appserver dev_appserver.fix_sys_path() except ImportError: raise app_id = 'dev~nkapp' os.environ['APPLICATION_ID'] = app_id # connect to local def auth_func(): return "[email protected]", "passwd" from google.appengine.ext.remote_api import remote_api_stub remote_api_stub.ConfigureRemoteApi(app_id, '/_ah/remote_api', auth_func, 'localhost:8080')
これを最初に呼んでおけば、後は自由にデータにアクセス出来る。
実用的に切り替えるならこんな感じ
# True->Local False->Remote SETTING_CONNECT_TO_LOCAL = True SETTING_APP_ID = 'nkapp' SETTING_API_PATH = '/_ah/remote_api' SETTING_LOCAL_SERVER_ADDR = 'localhost:8080' def initialize(): app_id = SETTING_APP_ID if SETTING_CONNECT_TO_LOCAL: app_id = 'dev~' + SETTING_APP_ID os.environ['APPLICATION_ID'] = app_id try: import dev_appserver dev_appserver.fix_sys_path() except ImportError: raise from google.appengine.ext.remote_api import remote_api_stub if SETTING_CONNECT_TO_LOCAL: # connect to local def auth_func(): return "[email protected]", "passwd" remote_api_stub.ConfigureRemoteApi(app_id, SETTING_API_PATH, auth_func, SETTING_LOCAL_SERVER_ADDR) else: # connect to product # app_name-???.json os.environ['GOOGLE_APPLICATION_CREDENTIALS'] = '/path/to/token/app_name-???.json' remote_api_stub.ConfigureRemoteApiForOAuth("%s.appspot.com" % app_id, SETTING_API_PATH, secure=True)
迷ったとこ
恥ずかしながら…. auth_func の中の [email protected] と passwd に何を設定すればいいか迷っておりました。 そのままで問題ないんですね(-ω- )
楽しいGAEライフを
ではでは