带有rails的Chrome通知 - 400 UnauthorizedRegistration

时间:2016-09-12 20:58:13

标签: ruby-on-rails ruby google-cloud-messaging web-push chrome-gcm

我正在使用Rails和Java EE 6 Web Profile specification gem并根据本指南配置了一些东西 https://github.com/zaru/webpush

我设法注册ServiceWorker并获得订阅。我将它保存在控制器中

endpoint = params[:subscription][:endpoint]
p256dh = params[:subscription][:keys][:p256dh]
auth = params[:subscription][:keys][:auth]

current_user.gcm_endpoint = endpoint
current_user.gcm_p256dh = p256dh
current_user.gcm_auth = auth

稍后我发送这样的信息:

message = {
    title: "Title",
    body: "This is a test notification",
    icon: "images/my-128.png"
}

Webpush.payload_send(
    endpoint: current_user.gcm_endpoint,
    message: JSON.generate(message),
    p256dh: current_user.gcm_p256dh,
    auth: current_user.gcm_auth,
    ttl: 600,
    api_key: "<MY API KEY>"
)

我已在Google控制台上配置并激活了帐户。我已打开GCM API并添加了正确的密钥。但无论我做什么,我都会收到400错误代码。我在Google控制台中没有统计信息 - 好像没有调用我的API调用。

1 个答案:

答案 0 :(得分:0)

问题在于密钥本身。需要使用单独的Firebase控制面板生成它。 Here使用该密钥,我的代码运行良好。