Google App Engine 远程 API 无法从本地客户端运行
Posted
技术标签:
【中文标题】Google App Engine 远程 API 无法从本地客户端运行【英文标题】:Google App Engine Remote API does not work from local client 【发布时间】:2013-05-21 16:51:31 【问题描述】:这是使用 Python SDK 版本 1.8.0。
我的远程 API 使用 remote_api_shell.py
可以正常工作,但在尝试从 python 脚本中访问时不起作用。我正在使用sample code from google:
from google.appengine.ext.remote_api import remote_api_stub
import getpass
def auth_func():
return (raw_input('Username:'), getpass.getpass('Password:'))
remote_api_stub.ConfigureRemoteApi(None, '/_ah/remote_api', auth_func,
'localhost:8080')
我还从dev_appserver.py
导入fix_sys_path()
,以便为谷歌应用引擎SDK 正确设置我的sys.path
:
import dev_appserver
dev_appserver.fix_sys_path()
在我的sys.path
中添加以下行以及其他路径:
'/google_appengine_1.8.0/lib/fancy_urllib'
但是,当调用上述remote_api_stub.ConfigureRemoteApi()
时,会抛出以下错误:
opener.add_handler(fancy_urllib.FancyProxyHandler())
AttributeError: 'module' object has no attribute 'FancyProxyHandler'
【问题讨论】:
谷歌提供的fix_sys_path()
似乎没有正确定位fancy_urllib
模块。 fix_sys_path()
将路径设置为:/google_appengine/lib/fancy_urllib/
但是,模块实际上位于这里:/google_appengine/lib/fancy_urllib/fancy_urllib/
所以我只是将最深的fancy_urllib
的内容复制到父目录中。这是一种解决方法,我不喜欢这样修改 SDK。谁有更好的解决方案?
在 google 问题跟踪器上提交错误。 code.google.com/p/googleappengine/issues/list
是的,这绝对看起来像一个错误,并且这些文件属于层次结构中的一个目录。在跟踪器上报告问题。
尝试重现该问题,但它似乎在当前的 SDK (1.9.18) 中消失了——也就是说,您的示例代码现在可以正常工作。您能否检查一下并关闭问题...?
【参考方案1】:
等 7 年,似乎一切正常。
【讨论】:
以上是关于Google App Engine 远程 API 无法从本地客户端运行的主要内容,如果未能解决你的问题,请参考以下文章
Google App Engine 的用户 API 限制太多?
使用搜索 API Python - Google App Engine 大表
Google App Engine - 请求 BigQuery API 时出现 401