SlackBot OpenModal错误:“缺少字符集”

问题描述

我想通过Zapier进行api调用以在Slack中打开Modal。

但是我总是得到错误

ok: false
error:  invalid_json
warning:    missing_charset
response_Metadata:
warnings:
1:  missing_charset

这是我的请求正文:

{
"token":"XXXXXXXXX","trigger_id":"XXXXXXXXXX","dialog": {
  "callback_id": "projekt-verantwortliche","title": "Projektverantwortliche auswählen","submit_label": "Request","state": "Limo","elements": [
    {
      "type": "users_select","action_id": "projekt-projektleiter","placeholder": {
         "type":"plain_text","text":"Projektleiter auswählen"
        },},{
      "type": "users_select","action_id":"projekt-berater","text":"Berater auswählen"
        }
    }
  ]
}
}

我在做什么错了?

以下是整个通话的屏幕截图:

enter image description here

解决方法

解决方案可以在以下documentation中找到:

您的POST正文中包含的JSON无法解析。这可能是因为它实际上不是JSON,或者您未正确设置HTTP Content-type标头。确保您的JSON属性键是用双引号(“)字符包装的字符串。

您只需要删除一个逗号,那么它应该可以工作:

{
   "token":"XXXXXXXXX","trigger_id":"XXXXXXXXXX","dialog":{
      "callback_id":"projekt-verantwortliche","title":"Projektverantwortliche auswählen","submit_label":"Request","state":"Limo","elements":[
         {
            "type":"users_select","action_id":"projekt-projektleiter","placeholder":{
               "type":"plain_text","text":"Projektleiter auswählen"
            }
         },{
            "type":"users_select","action_id":"projekt-berater","text":"Berater auswählen"
            }
         }
      ]
   }
}

如果您set the charset针对内容类型标头,则可以删除警告missing_charset。例如:

Content-type: application/json; charset=utf-8