首页 >后端开发 >Golang >尝试 Twilio Whatsappp api 调用但收到错误 20422

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

WBOY
WBOY转载
2024-02-08 20:48:09635浏览

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

问题内容

我在使用 twilio Whatsapp api 时遇到错误。

以下是代码:

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)
        }
    }
}

我收到的错误是 -

Status: 400 - ApiError 20422: Invalid Parameter (null) More info: https://www.twilio.com/docs/errors/20422

如果尝试通过 Postman,我会遇到同样的错误。


正确答案


错误20422表示不满足这三个条件之一:

  • 缺少指定的 Content-Type 标头字段
  • XML 数据无效或缺失
  • 参数类型或值无效

由于您使用的是 SDK,因此它很可能是第三个要点。您使用 MessagingServiceSidFrom 字段是否有原因?我建议将客户端更新到最新版本并运行此脚本:

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!")
    }
}

以上是尝试 Twilio Whatsappp api 调用但收到错误 20422的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文转载于:stackoverflow.com。如有侵权,请联系admin@php.cn删除