2

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

但我总是得到错误:

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",
      "placeholder": {
         "type":"plain_text",
         "text":"Berater auswählen"
        }
    }
  ]
}
}

我究竟做错了什么?

这是整个通话的屏幕截图: 在此处输入图像描述

4

1 回答 1

3

可以在本文档中找到解决方案:

您包含在 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",
            "placeholder":{
               "type":"plain_text",
               "text":"Berater auswählen"
            }
         }
      ]
   }
}

missing_charset如果为内容类型标头设置字符集,则可以删除警告。例如:

Content-type: application/json; charset=utf-8
于 2020-08-23T19:00:48.583 回答