我已经尝试了两天已经没有成功。我的目标是向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客户端应用程序复制的,它应该是有效的。
这有什么问题?任何帮助表示赞赏。
答案 0 :(得分:0)
在第一个curl命令中使用正确的电子邮件地址和密码解决了问题。应该使用签名ac2dm时使用的电子邮件凭据。