向C2DM发送消息一直返回401
我已经尝试了两天了,但没有成功。我的目标是向 C2DM 发送一条短信。我使用了一个简单的Java应用程序和curl,但它不断返回响应代码401:(未经授权)。
第一个curl命令:
curl https://www.google.com/accounts/ClientLogin -d [email protected] -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 客户端应用程序复制的,它应该是有效的。
这有什么问题吗?任何帮助表示赞赏。
I have been trying this for two days already with no success. My goal is to send a short message to the C2DM. I have used a simple Java application and curl, but it keeps returning response code 401: (Unauthorized).
The first curl command:
curl https://www.google.com/accounts/ClientLogin -d [email protected] -d Passwd=mypasswd -d accountType=HOSTED_OR_GOOGLE -d source=Google-cURL-Example -d service=ac2dm
returns three long strings: SID, LSID and Auth.
Next, I copy the Auth string to the following command (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
but it always returns response code 401. The registration_id is copied from the Android client app and it should be valid.
What's wrong with this? Any help is appreciated.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
通过在第一个curl命令中使用正确的电子邮件地址和密码解决了问题。应使用签署 ac2dm 时使用的电子邮件凭据。
Problem solved by using the correct email address and password in the first curl command. Email credentials that were used when signing for ac2dm should be used.