Не получает правильные сообщения подписки от Pub / Sub - PullRequest
0 голосов
/ 18 марта 2019

Я пытаюсь получить информацию о подписке от Google, когда я получаю уведомления в режиме реального времени от Google Pub / Sub.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, я ничего не получаю, без ошибок и без данных.Я думаю, что это просто общее сообщение.Я думаю, что я все делаю правильно, потому что на самом деле я получаю сообщения, когда ожидаю получить их во время тестирования, я просто не могу ничего с ними сделать.Есть какие-нибудь мысли о том, как преобразовать их в РЕАЛЬНЫЕ сообщения ???

1 Ответ

0 голосов
/ 28 марта 2019

Это потребовалось много времени, чтобы найти решение, и решение оказалось довольно простым. Я был удивлен, что в течение двух недель никто в Google не мог найти ответ на этот вопрос для меня. Оказывается, это правильный формат сообщения Pub / Sub. Сообщение JSON, которое я получал от PubSub, было ОЧЕНЬ отличается от того, что я ожидал, основываясь на документации Google Play, и в основном имело поле «данные», которое выглядело как токен, но это не так. На самом деле мне пришлось углубиться в документацию PubSub и найти неясную заметку в поле «data» - это строка в кодировке base64. Если вы расшифруете поле «data», вуаля !, вы получите строку JSON, содержащую подписку buyToken, которая необходима для запроса информации о подписке в Google Play.

Таким образом, есть сообщение JSON ВНУТРИ этого сообщения JSON, но оно закодировано в base64, и вам просто нужно декодировать его, чтобы добраться до ожидаемого сокровища внутри.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...