首頁  >  文章  >  後端開發  >  嘗試 Twilio Whatsappp api 呼叫但收到錯誤 20422

嘗試 Twilio Whatsappp api 呼叫但收到錯誤 20422

WBOY
WBOY轉載
2024-02-08 20:48:09563瀏覽

尝试 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刪除