【问题标题】:Not Receiving Proper Subscription Messages from Pub/Sub未从 Pub/Sub 接收正确的订阅消息
【发布时间】:2019-08-09 05:24:34
【问题描述】:

当我收到来自 Google Pub/Sub 的实时通知时,我正在尝试从 Google 检索订阅信息。 Google Pub/Sub 正在以这种格式向我发送订阅令牌:

{"message":{"data":"REALLY LONG STRING","messageId":"468103560112704","message_id":"468103560112704","publishTime":"2019-03-18T17:19:01.444Z","publish_time":"2019-03-18T17:19:01.444Z"},"subscription":"my/pubsub/subscriptions/path"}

我不认为订阅令牌应该采用这种格式,当我将其发送到 Google 以使用 HTTP GET 命令检索信息时,我什么也得不到,没有错误,也没有数据。我认为这只是一个通用信息。我会认为我做的一切都是正确的,因为当我期望在测试期间收到消息时,我实际上正在收到消息,我只是无法对它们做任何有用的事情。关于如何将这些转换为真实消息的任何想法???

【问题讨论】:

    标签: notifications publish-subscribe subscription


    【解决方案1】:

    这个问题花了很长时间才弄清楚,结果证明解决方案非常简单。令我惊讶的是,两周来,谷歌没有人能为我找到这个问题的答案。事实证明,这是 Pub/Sub 消息的正确格式。我从 PubSub 收到的 JSON 消息的格式与我根据 Google Play 文档所期望的格式非常不同,并且基本上只有一个看起来像令牌的“数据”字段,但事实并非如此。实际上,我不得不深入研究 PubSub 文档,并在“数据”字段上发现了一个晦涩的注释——它是一个 base64 编码的字符串。如果您解码“数据”字段,瞧!您会得到一个 JSON 字符串,其中包含您需要在 Google Play 中查询订阅信息的订阅 purchaseToken。

    所以这个 JSON 消息里面有一个 JSON 消息,但是它是 base64 编码的,你只需要解码它就可以得到里面预期的宝藏。

    【讨论】:

      猜你喜欢
      • 2019-04-10
      • 2021-05-04
      • 1970-01-01
      • 2020-04-10
      • 2018-04-11
      • 2018-03-24
      • 1970-01-01
      • 2017-07-12
      • 2019-05-17
      相关资源
      最近更新 更多