Maison > développement back-end > Golang > J'essaie l'appel API Twilio Whatsappp mais j'obtiens l'erreur 20422

J'essaie l'appel API Twilio Whatsappp mais j'obtiens l'erreur 20422

WBOY
Libérer: 2024-02-08 20:48:09
avant
633 Les gens l'ont consulté

尝试 Twilio Whatsappp api 调用但收到错误 20422

Contenu de la question

J'ai rencontré une erreur lors de l'utilisation de l'API Twilio Whatsapp.

Voici le code :

package main

import (
    "fmt"

    "github.com/twilio/twilio-go"
    api "github.com/twilio/twilio-go/rest/api/v2010"
)

func main() {

    clientParameter := twilio.ClientParams{}
    clientParameter.Username = "AC***********************ba"
    clientParameter.Password = "ce************************27"
    clientParameter.AccountSid = "AC************************ba"

    client := twilio.NewRestClientWithParams(clientParameter)

    params := &api.CreateMessageParams{}
    params.SetContentSid("HT**********************70")
    params.SetMessagingServiceSid("MG******************************0d")
    params.SetFrom("whatsapp:+917*******2")
    params.SetTo("whatsapp:+917********4")

    resp, err := client.Api.CreateMessage(params)
    if err != nil {
        fmt.Println(err.Error())
    } else {
        if resp.Sid != nil {
            fmt.Println(*resp.Sid)
        } else {
            fmt.Println(resp.Sid)
        }
    }
}
Copier après la connexion

L'erreur que j'obtiens est -

Status: 400 - ApiError 20422: Invalid Parameter (null) More info: https://www.twilio.com/docs/errors/20422
Copier après la connexion

J'obtiens la même erreur si j'essaie de passer par Postman.


Bonne réponse


Erreur 20422 signifie qu'une de ces trois conditions n'est pas remplie :

  • Le champ d'en-tête Content-Type spécifié est manquant
  • Les données XML sont invalides ou manquantes
  • Type ou valeur de paramètre invalide

Puisque vous utilisez le SDK, il s'agit probablement du troisième point. Y a-t-il une raison pour laquelle vous utilisez le champ MessagingServiceSidFrom ? Je recommande de mettre à jour le client vers la dernière version et d'exécuter ce script :

package main

import (
    "fmt"
    "log"
    "os"

    "github.com/joho/godotenv"
    "github.com/twilio/twilio-go"
    api "github.com/twilio/twilio-go/rest/api/v2010"
)


func main() {
    err := godotenv.Load()
    if err != nil {
            log.Fatal("Error loading .env file")
    }

    client := twilio.NewRestClient()

    params := &api.CreateMessageParams{}
    params.SetTo("whatsapp:"+os.Getenv("RECIPIENT_PHONE_NUMBER"))
    params.SetFrom(os.Getenv("TWILIO_MESSAGING_SERVICE"))
    params.SetContentSid(os.Getenv("CONTENT_SID"))

    _, err = client.Api.CreateMessage(params)
    if err != nil {
        fmt.Println(err.Error())
    } else {
        fmt.Println("Message sent successfully!")
    }
}

Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:stackoverflow.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal