可以在没有302响应的情况下请求gsessionid

时间:2009-12-22 21:09:42

标签: flash actionscript calendar gdata

我正在Flash / AS2中编写一个google gdata API客户端(遗憾的是,此时无法转移到AS3)。通过ClientLogin登录工作正常,但是后续请求将返回302重定向,其中包含一个gsessionid,我应该包含以避免302s的未来请求。

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

1 个答案:

答案 0 :(得分:0)

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

话虽如此,一般来说有选择:

  1. 从重定向主体中抓取gsessionid查询参数,听起来就像您尝试过的那样。 (一般来说,这很脆弱,不是一个好主意。)
  2. 使用位于重定向的Location:标题内的gsessionid查询参数。
  3. 重定向还包含S= Cookie。如果您可以确保为将来的请求设置此Cookie,Google日历将使用它来代替gsessionid查询参数。
  4. 如果这些都不适合您,您唯一的选择是编写代理。没有办法在重定向之外获得gsessionid,没有它,Calendar Data API将无法提供请求。