向C2DM发送消息继续返回401

时间:2011-08-12 14:09:18

标签: android android-c2dm

我已经尝试了两天已经没有成功。我的目标是向C2DM发送一条短消息。我使用了一个简单的Java应用程序和curl,但它不断返回响应代码401 :(未经授权)。

第一个curl命令:

curl https://www.google.com/accounts/ClientLogin -d Email=firstname.lastname@gmail.com -d Passwd=mypasswd -d accountType=HOSTED_OR_GOOGLE -d source=Google-cURL-Example -d service=ac2dm

返回三个长字符串:SID,LSID和Auth。

接下来,我将Auth字符串复制到以下命令(AUTH_STRING):

curl --header "Authorization: GoogleLogin auth=AUTH_STRING" "https://android.clients.google.com/c2dm/send" -d registration_id=SOME_REGISTRATION_ID -d "data.message=HelloWorld" -d collapse_key=0 -k

但它总是返回响应代码401. registration_id是从Android客户端应用程序复制的,它应该是有效的。

这有什么问题?任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:0)

在第一个curl命令中使用正确的电子邮件地址和密码解决了问题。应该使用签名ac2dm时使用的电子邮件凭据。