Android C2DM 服务器发送错误

Posted

技术标签:

【中文标题】Android C2DM 服务器发送错误【英文标题】:Android C2DM servers send error 【发布时间】:2011-12-29 10:18:04 【问题描述】:

我使用 php 代码编写了第三个服务器,我可以获得 deviceRegistrationId 和 authToken,但现在我收到“未经授权的错误 401”,这是我使用的 PHP 代码。 C2DM implementation PHP code

【问题讨论】:

【参考方案1】:

未授权错误 401 表示用于验证发件人的 ClientLogin AUTH_TOKEN 无效。请确保您将正确的 ClientLogin 发送到 google 服务器。

【讨论】:

我发送邮件和密码是为了获得TOKEN,邮件和密码是我从C2DM注册页面提交的吗?我从哪里得到 Source&Service?这是我的 PHP 代码: curl_setopt($ch, CURLOPT_URL, "google.com/accounts/ClientLogin"); $post_fields = "accountType=" . urlencode('HOSTED_OR_GOOGLE') . "&Email=" . urlencode($username) . "&Passwd=" 。 urlencode($password) . "&source=" . urlencode($source) . "&service=" . urlencode($service);【参考方案2】:

任何客户端都会经历以下循环:

    从站点的 IP 名称(不带前导的站点 URL 'http://')。这种查找(IP 名称到 IP 地址的转换)由域名服务器 (DNS) 提供。 打开与该 IP 地址的 IP 套接字连接。 通过该套接字写入 HTTP 数据流。 接收来自 Web 服务器的 HTTP 数据流作为响应。此数据流包含状态代码,其值由 HTTP 协议确定。解析此数据流以获取状态代码和其他有用信息。 当客户端收到它识别为“401”的 HTTP 状态代码时,会在上述最后一步中发生此错误。

【讨论】:

以上是关于Android C2DM 服务器发送错误的主要内容,如果未能解决你的问题,请参考以下文章

Android c2dm 302 Http 错误

如何在android中实现C2DM?

将数据从 web 服务推送到 android 应用程序:C2DM

Android c2dm 自动注销

如何发送通知?

从我们从 Android 应用发送的 PHP 获取注册 ID