2009-12-22 95 views
0

我正在写一个谷歌gdata API客户端在Flash/AS2(不幸的是,移动到AS3不是在这个时候的选项)。通过ClientLogin登录可以正常工作,但是频繁的请求会返回一个包含gsessionid的302重定向,我应该包含未来的请求以避免302s。可能请求gsessionid没有302响应

Flash/AS2,AFAIK不允许我以任何方式实际查询http错误响应主体,因此在302返回后无法真正看到此gsessionid。如果我已经拥有有效的GoogleLogin身份验证令牌,是否有gdata api调用会返回HTTP 200响应中的有效gsessionid?或者,如果没有中间人代理,这是不可能的?

回答

0

应该返回gsessionid的唯一Google Data API是Calendar Data API。据我所知,其他人都没有这样做。

话虽这么说,一般这里有选项:

  1. 刮去重定向体,它听起来像你试过gsessionid查询参数。 (通常,这是脆弱的,并不是一个好主意。)
  2. 使用位于重定向的Location:标头内的gsessionid查询参数。
  3. 该重定向还将包含S= cookie。如果您可以确保为未来的请求设置此Cookie,则Google日历将使用它来代替gsessionid查询参数。

如果这些都不适合你,你唯一的选择就是写代理。没有办法在重定向之外获得gsessionid,并且Calendar Data API不会在没有它的情况下提供请求。