【问题标题】:Trying to send FCM but sometimes it shows 400尝试发送 FCM 但有时显示 400
【发布时间】:2016-11-29 22:37:47
【问题描述】:

我尝试使用此 JSON 发送 FCM 消息:

{"data":{"before_end":"-941.813993","before_start":"341.813993","end_at":"1480427700","id":"5","now":"1480426758", "started_at":"1480427100","subtype":"in10","type":"chat_schedule"},"to":"/topics/13_notif","re​​gistration_ids":["ffM9IdvHBmY:APA91bF2LEUfxv_S8tmjfQccQR8VW_Yx9Zp25rrLbkIc9WnMeBh2tRfdMcDPsFqA6uqnIKFWLAygrVcr-98_krTikm8GeYC41kha-eoZ987HhPmbJNT7Eeo- UyHr7hJ6grS9PEm7q1ep"​​,"fgKJA8e2U_o:APA91bG09ZnKjNZxpnZmthmX5MR1A-hD3nepqCz0HesckF2HU6nS8MFJYbNX_OUH33ep6ZedN8UPy8AtSWQj4pkSrNTqPRb8pDGxhjSljpr-DvJ_7nwlAXc2SiNsV-XtNq4nfc8tZaqq","dlubMvP6e1k:APA91bEOmnkELD9HdlQMMPBm2KwWaiku7WpOixDzpAALr7VFO5sWQAkJjbYYphdLAV_4Hqlh8_9ixraebA3hn6I3CemLmqpnnR67jYq5fjtpTUqKldO6dtiZSMBZ6E9aZdwrrPxf_gUW","cKD8A2Rp2iw:APA91bF86nwk_SZIyVdymyiNgiTGlEr8YX4P44Hv7QXv6FcYyvswBV0mnYTbCEkj8dUAusPB8FXoC_9r0b9U1bNh7DScfUEHlF9KjHzynnwtyUmP0nCaWBBCW4CYn1YK01y_8uWAoPTJ","elN6OMhyhJ8:APA91bEQjALiSwtOzI84U9h5VgTji_pqBqF61K3By7-3u4cn_WQZSay9NkqXK4sSzj1wk6AsBhlD5wvQXmrddBn54mlAq5OeXA88fX0zGpx-nO6i2FtQ8OHyI8TwuASj2QrB7IFYk rxU"],"通知":{}}

但有时它会在响应结构中显示 400:

    &fcm.FcmResponseStatus{
     Ok:            false,
     StatusCode:    400,
     MulticastId:   0,
     Success:       0,
     Fail:          0,
     Canonical_ids: 0,
     Results:       nil,
     MsgId:         0,
     Err:           "",
     RetryAfter:    "",
 }

我google了一下,400的意思是:

400 仅适用于 JSON 请求。表示请求无法解析为 JSON,或者它包含无效字段(例如,在需要数字的地方传递字符串)。响应中描述了确切的失败原因,并且应该在重试请求之前解决问题。

对于其他 json,它没有显示 400:

{"data":{"before_end":"2613","before_start":"-4074","ended_at":"1480424100","id":"5","now":"1480426713", "started_at":"1480422639","subtype":"in-1","type":"chat_schedule"},"to":"/topics/13_notif","notification":{}}

回复是:

&fcm.FcmResponseStatus{
    Ok:            true,
    StatusCode:    200,
    MulticastId:   0,
    Success:       0,
    Fail:          0,
    Canonical_ids: 0,
    Results:       nil,
    MsgId:         5721749585709774290,
    Err:           "",
    RetryAfter:    "",
}

可能有什么问题?

【问题讨论】:

    标签: firebase-cloud-messaging


    【解决方案1】:

    没关系,我不应该在 JSON 上同时使用 registration_idsto

    关于更多细节github.com/NaySoftware/go-fcm 可能不能被重用于发送广播主题然后是regids,反之亦然,我们必须使用不同的客户端或者ToRegistrationIds 必须先清除才能重用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-12-09
      • 2018-08-07
      • 2021-10-16
      • 2020-04-23
      • 2020-10-27
      • 2018-09-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多