Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Mencuba panggilan api Twilio Whatsappp tetapi mendapat ralat 20422

Mencuba panggilan api Twilio Whatsappp tetapi mendapat ralat 20422

WBOY
WBOYke hadapan
2024-02-08 20:48:09613semak imbas

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

Kandungan soalan

Saya mengalami ralat semasa menggunakan twilio Whatsapp api.

Ini kodnya:

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

Ralat yang saya dapat ialah -

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

Saya mendapat ralat yang sama jika saya cuba melalui Posmen.


Jawapan betul


Ralat 20422 bermakna salah satu daripada tiga syarat ini tidak dipenuhi:

  • Medan pengepala Jenis Kandungan yang ditentukan tiada
  • Data XML tidak sah atau tiada
  • Jenis atau nilai parameter tidak sah

Memandangkan anda menggunakan SDK, kemungkinan besar ia adalah titik peluru ketiga. Adakah terdapat sebab mengapa anda menggunakan medan MessagingServiceSidFrom? Saya syorkan anda mengemas kini klien kepada versi terkini dan menjalankan skrip ini:

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

Atas ialah kandungan terperinci Mencuba panggilan api Twilio Whatsappp tetapi mendapat ralat 20422. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:stackoverflow.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam