0

我设置了一个简单的 Servlet,用于使用 C2DM 与我的 Android 应用程序进行交互。

从 Servlet 我只需通过发帖到https://www.google.com/accounts/ClientLogin并在正文中发送这些参数来登录 Google 帐户:

电子邮件、密码、帐户类型、来源和服务(设置为 ac2dm)。

我得到了 Auth、SID 和 LSID 作为响应。

现在我的 Servlet 正在修改和部署,每次我从手机发送设备注册 ID 时,我都会再次登录到 Google 帐户。我想知道我是否必须在再次登录之前注销,或者是否不需要再次执行登录。

我一直在寻找一些注销 URL,我刚刚找到https://www.google.com/accounts/Logout但我不知道我必须发送哪些参数。

所以我的问题是,我的登录是一个好方法吗?我必须重新登录吗?如果是,我想我必须先注销,那么服务器期望什么参数?

任何评论将不胜感激;-)

4

1 回答 1

0

您无需注销。当您在已登录的情况下执行登录时,通常会获得不同的 Auth、SID 和 LSID。旧的 Auth、SID、LSID 和新的都有效,仍然可以使用。授权将在一段时间(几天)后过期,然后您必须重新登录。

目前我正在寻找一种强制注销的方法,以便阻止之前检索到的所有授权码。

您可以使用 CURL 自己验证这一点:

curl https://www.google.com/accounts/ClientLogin -d "Email=YourAccount" -d "Passwd=YourPassword" -d "accountType=GOOGLE" -d "source=Google-cURL-Example" -d "service=ac2dm"

curl --header "Authorization: GoogleLogin auth=YourAuth" "https://android.apis.google.com/c2dm/send" -d registration_id=YourPhoneRegistrationID -d "data.payload=YourMessage" -d collapse_key=0

成功时 curl 将返回消息 id (id=...),否则返回错误。

于 2012-06-08T11:29:49.463 回答