5

GCM と chrome を使用したweb-pushの開発中。最近、この問題に遭遇しました (数時間前まではすべて問題なく動作していました)。

これが GCM での変更によるものなのか、それともクラウドのダウンタイムによるものなのかはわかりません...情報をいただければ幸いです。

私のコード

var payload = JSON.stringify({
    title: 'notification title',
    body: 'message body'
});
webPush.sendNotification(params.endpoint, {
    userPublicKey: params.userPublicKey,
    userAuth: params.userAuth,
    payload: payload
}).then(function (res) { 
    // console.log of stuff
})
.catch(function(error){
    console.log(error);
    process.exit(1);
});

痕跡:

{
  WebPushError: Received unexpected response code
  at IncomingMessage.<anonymous> (/var/www/***/pwa/node_modules/web-push /index.js:264:20)
  at emitNone (events.js:91:20)
  at IncomingMessage.emit (events.js:185:7)
  at endReadableNT (_stream_readable.js:926:12)
  at _combinedTickCallback (internal/process/next_tick.js:74:11)
  at process._tickCallback (internal/process/next_tick.js:98:9)
  name: 'WebPushError',
  message: 'Received unexpected response code',
  statusCode: 400,
  headers: {
    'content-type': 'text/plain; charset=UTF-8',
     date: 'Wed, 04 May 2016 11:35:13 GMT',
     expires: 'Wed, 04 May 2016 11:35:13 GMT',
    'cache-control': 'private, max-age=0',
    'x-content-type-options': 'nosniff',
    'x-frame-options': 'SAMEORIGIN',
    'x-xss-protection': '1; mode=block',
     server: 'GSE',
    'alternate-protocol': '443:quic',
    'alt-svc': 'quic=":443"; ma=2592000; v="33,32,31,30,29,28,27,26,25"',
    'accept-ranges': 'none',
     vary: 'Accept-Encoding',
     connection: 'close'
  },
  body: 'JSON_PARSING_ERROR: Unexpected token END OF FILE at position 467.\n' 
}
4

2 に答える 2

2

@Lihn、ここにペイロードを貼り付けます。メッセージのエラーから、不正な形式の json メッセージを送信しているようです。

このサービスを使用して、json の構文の問題をチェックできます。

GCM ドキュメントには、ステータス コード 400 は json メッセージを解析できなかったことを意味すると記載されています。

于 2016-05-04T13:03:42.440 に答える
1

web-push を使用してプッシュ通知を送信しようとしている場合は、#npm run web-push generate-vapid-keys を使用して公開鍵と秘密鍵を再生成してみてください。これらのキーを置き換えて再試行してください。幸運を。

于 2018-02-28T06:39:36.073 に答える