2011-11-03 54 views
8

我想從我的谷歌App Engine應用程序下載數據,使用the official instructionsGAE數據下載顯示datastore_errors.BadRequestError

遠程API設置&我打電話:

appcfg.py download_data --application=appname --url=http://app.address.com/_ah/remote_api --filename=alldata.csv 

建立連接,我被問了我的電子郵件&密碼,再長的痕跡似乎與此結束了:

google.appengine.api.datastore_errors.BadRequestError: app s~appname cannot access app appname's data

有任何想法嗎?

+0

你是否真的在傳遞「application = appname」或者是否從命令和錯誤中清除了你的應用ID? –

+0

我通過我的應用程序ID :)但我發現解決方案已經 - 服務器名稱是錯誤的... – kolinko

回答

25

如果使用高複製數據存儲,請將傳遞給--application的值從appname更改爲s~appname

+0

這解決了我的問題。您能否解釋爲什麼傳遞s〜對於高複製數據存儲是必要的? – LuxuryMaster

0

發現問題 - 作爲一個URL我給自己的應用程序的域名,而不是1.appname.appspot.com。

0

我遇到了同樣的問題,但是嘗試從自定義腳本中使用遠程API而不是appcfg.py的批量下載程序。

此問題可能已在最近的GAE SDK版本中得到解決,但由於各種原因,我仍在使用較舊的1.7版本。我在這個錯誤報告中找到了答案:https://code.google.com/p/googleappengine/issues/detail?id=4374

基本上,在調用ConfigureRemoteApi時,不要指定APP_ID參數(只傳遞無)並通過主機參數指定您的應用程序ID。 'myapp-hrd.appspot.com'。 ConfigureRemoteApi會正確找出您的應用程序ID,並且不會添加導致此問題的'〜'。