Веб-перехватчик RingCentral Glip не поддерживает необычные символы, полученные по электронной почте

Я пытаюсь отправить данные в RingCentral Glip, используя их процесс веб-перехватчика из php в Linux.

На самом деле я обрабатываю входящие почтовые сообщения и переформатирую их в формат сообщения Glip, а затем отправляю через веб-перехватчик Glip.
Но я столкнулся с проблемой совместимости набора символов.

Я не совсем уверен, какой набор символов поддерживает Glip, но я пытался отформатировать его в UTF-8, и когда я отправляю его, сообщение никогда не публикуется.

Если я просто использую простые символы ASCII, сообщение отправляется без проблем.

Кто-нибудь знает, какой формат требуется Glip?
Существуют ли какие-либо существующие библиотеки кода, которые люди могли бы использовать с PHP для преобразования текста в этот формат?


person Stephen Wilkey    schedule 28.01.2018    source источник


Ответы (2)


Ответ в моем случае заключался в том, что я не знаю, какой формат символов требуется для GLIP, но теперь я знаю, что это не было причиной моей проблемы. Оказывается, у меня было две ошибки, которые привели к тому, что мое тело сообщения было стерто, и если вы отправляете сообщение для glip с пустым телом, оно отправляет пустое сообщение, а не просто показывает установленную информацию об активности и заголовке (как и следовало ожидать если тело было пустым), он просто считает его полностью пустым.

person Stephen Wilkey    schedule 29.01.2018

У меня UTF-8 работает без специального преобразования, как показано ниже. Возможно ли, что преобразование электронной почты в UTF-8 не работает должным образом? Можете ли вы опубликовать пример UTF-8, который у вас не работает, вместе с тем, что вы ожидаете?

Следующее демонстрационное сообщение отлично работает для меня с предоставленным JSON и скриншотом. Я добавил ♠♥♣♦ в каждое текстовое поле для проверки.

Вы можете найти пример кода Go здесь:

Код: github.com/grokify/go- проблеск/...

{
  "icon": "https://i.imgur.com/9yILi61.png",
  "title": "**Title of the post ♠♥♣♦**",
  "body": "Body of the post ♠♥♣♦",
  "attachments": [
    {
      "color": "#00ff2a",
      "pretext": "Attachment pretext appears before the attachment block ♠♥♣♦",
      "author_name": "Author Name ♠♥♣♦",
      "author_link": "https://example.com/author_link",
      "author_icon": "https://upload.wikimedia.org/wikipedia/commons/thumb/f/fd/000080_Navy_Blue_Square.svg/1200px-000080_Navy_Blue_Square.svg.png",
      "title": "Attachment Title ♠♥♣♦",
      "title_link": "https://example.com/title_link",
      "fields": [
        {
          "title": "Field 1 ♠♥♣♦",
          "value": "A short field ♠♥♣♦",
          "short": true
        },
        {
          "title": "Field 2",
          "value": "This is [a linked short field](https://example.com)",
          "short": true
        },
        {
          "title": "Field 3 ♠♥♣♦",
          "value": "A long, full-width field with *formatting* and [a link](https://example.com) \n\n ♠♥♣♦"
        }
      ],
      "text": "Attachment text ♠♥♣♦",
      "image_url": "https://media3.giphy.com/media/l4FssTixISsPStXRC/giphy.gif",
      "thumbnail_url": "https://funkybuddhabrewery.com/sites/default/files/WorldBeerCupGold.png",
      "footer": "Attachment footer and timestamp ♠♥♣♦",
      "footer_icon": "http://www.iconsdb.com/icons/preview/red/square-ios-app-xxl.png",
      "ts": 1517169226
    }
  ]
}

Пример веб-перехватчика Glip

Более подробная информация о форматировании сообщений доступна здесь:

http://ringcentral-api-docs.readthedocs.io/en/latest/glip_message_attachments/

person Grokify    schedule 28.01.2018
comment
Спасибо за тестирование. Я вижу, вы используете Go, я использую PHP. Тем не менее, ваш пост был чрезвычайно полезен для меня, так как я понял, что он должен работать. Эксперименты показали, что в моем коде было две ошибки, которые аннулировали содержимое сообщения. Кажется, что если содержимое сообщения пустое, glip на самом деле не показывает никакой другой информации, которую вы ему предоставляете, а вместо этого просто публикует совершенно пустой пост. Так что моя проблема была не в кодировке символов, а в том, что мой код стирал сообщение, а glip принимал пустое сообщение и стирал ВСЕ. Спасибо за вашу помощь! - person Stephen Wilkey; 29.01.2018
comment
Тело JSON было более важным, чем фактический код, просто чтобы показать работу UTF-8. Рад, что вы поняли это, и спасибо, что сообщили о своих выводах! - person Grokify; 29.01.2018