SlackBot OpenModal 오류 : "문자 세트 누락"

Aug 23 2020

Slack에서 모달을 열기 위해 Zapier를 통해 API 호출을 만들고 싶습니다.

하지만 항상 오류가 발생합니다.

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"
        }
    }
  ]
}
}

내가 도대체 ​​뭘 잘못하고있는 겁니까?

다음은 전체 통화의 스크린 샷입니다.

답변

1 flaxel Aug 23 2020 at 19:00

솔루션은 다음 문서 에서 찾을 수 있습니다 .

POST 본문에 포함 된 JSON은 파싱 할 수 없습니다. 이는 실제로 JSON이 아니거나 HTTP 콘텐츠 유형 헤더를 올바르게 설정하지 않았기 때문일 수 있습니다. 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