appcfg.py,将数据上传到App Engine的工具必须执行此操作才能向App
Engine服务器进行身份验证。相关功能被抽象到appengine_rpc.py中。简而言之,解决方案是:
- 使用Google ClientLogin API获取身份验证令牌。appengine_rpc.py在_GetAuthToken中执行此操作
- 将身份验证令牌发送到App Engine应用上的特殊网址。然后,该页面返回一个cookie和302重定向。忽略重定向并存储cookie。appcfg.py在_GetAuthcookie中执行此操作
- 在以后的所有请求中使用返回的cookie。
您可能还需要查看_Authenticate,以了解appcfg如何处理ClientLogin的各种返回码,以及_GetOpener,以了解appcfg如何创建不遵循HTTP重定向的urllib2
OpenerDirector。或者,实际上,您可以只批发使用AbstractRpcServer和HttpRpcServer类,因为它们几乎完成了您需要的所有事情。



