如何解决Android GCM 401错误?

时间:2012-09-26 08:37:05

标签: zend-framework google-cloud-messaging

在Google Code APis控制台上设置了一个项目,并在“服务器应用程序密钥(具有IP锁定)”中设置了服务器密钥。我正在尝试使用“API密钥”向GCM设备发送推送通知,以及我在数据库中存储的一个注册ID。

对于服务器端我使用Zend_Mobile_Push_Gcm并且具有以下内容:

$token = 'REGISTRATION ID';
$apiKey = 'API KEY';

//Send test push
$message = new Zend_Mobile_Push_Message_Gcm();
$message->setId(time());
$message->addToken($token);
$message->setData(array('foo' => 'bar', 'bar'=>'foo'));

$gcm = new Zend_Mobile_Push_Gcm();
$gcm->setApiKey($apiKey);

try {
    $response = $gcm->send($message);
} catch (Zend_Mobile_Push_Exception $e) {
    die($e->getMessage());
}

在应用程序方面,我使用了GCM演示,该演示目前正在服务器服务上注册它的注册ID。

我无法发送推送,总是得到401错误。已完成故障排除并在http://developer.android.com/guide/google/gcm/gcm.html#auth_error使用CLI测试行尝试了我的API KEY和注册ID,但没有成功。

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:0)

我意识到这是在不久前发布的,但请务必使用您的服务器API密钥,而不是您的Android API密钥。

尝试使用PHP和Zend时的Android API密钥时遇到了同样的问题。