首页 > 后端开发 > Golang > 正文

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

WBOY
发布: 2024-02-08 20:48:09
转载
574 人浏览过

尝试 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
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!