SlackBot OpenModalエラー:「文字セットがありません」
Aug 23 2020
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"
}
}
]
}
}
私は何が間違っているのですか?
通話全体のスクリーンショットは次のとおりです。

回答
1 flaxel Aug 23 2020 at 19:00
解決策はこのドキュメントにあります:
POST本文に含めたJSONは解析できません。これは、実際にはJSONではないか、HTTPContent-typeヘッダーを正しく設定しなかったことが原因である可能性があります。JSON属性キーが二重引用符( ")文字でラップされた文字列であることを確認してください。
カンマを1つ削除するだけで、機能するはずです。
{
"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"
}
}
]
}
}
content-typeヘッダーに文字セットを設定すると、警告を削除できmissing_charset
ます。例えば:
Content-type: application/json; charset=utf-8