Errore OpenModal SlackBot: "Set di caratteri mancanti"
Voglio fare una chiamata API tramite Zapier per aprire un Modal in Slack.
Ma ottengo sempre l'errore:
ok: false
error: invalid_json
warning: missing_charset
response_metadata:
warnings:
1: missing_charset
Questo è il mio corpo della richiesta:
{
"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"
}
}
]
}
}
Che cosa sto facendo di sbagliato?
Ecco uno screenshot dell'intera chiamata:

Risposte
La soluzione può essere trovata in questa documentazione :
Il JSON che hai incluso nel tuo corpo POST non può essere analizzato. Ciò potrebbe essere dovuto al fatto che in realtà non è JSON o forse non hai impostato correttamente l'intestazione del tipo di contenuto HTTP. Assicurati che le chiavi degli attributi JSON siano stringhe racchiuse tra virgolette doppie (").
Devi solo rimuovere una virgola, quindi dovrebbe funzionare:
{
"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"
}
}
]
}
}
Puoi rimuovere l'avviso missing_charset
se imposti il set di caratteri per l'intestazione del tipo di contenuto. Per esempio:
Content-type: application/json; charset=utf-8