You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Twilio向WhatsApp号码发送多张图片?

使用twilio-go发送多张图片的正确实现

Twilio的Messages API支持通过MediaUrl字段传入URL数组来发送多张图片,twilio-go SDK完全适配这个功能,以下是完整的实现步骤和代码示例:

核心实现代码

package main

import (
	"fmt"
	"github.com/twilio/twilio-go"
	openapi "github.com/twilio/twilio-go/rest/api/v2010"
)

func main() {
	// 初始化Twilio客户端(替换为你的账户SID和Auth Token)
	client := twilio.NewRestClientWithParams(twilio.ClientParams{
		Username: "你的Twilio账户SID",
		Password: "你的Twilio Auth Token",
	})

	// 构造消息参数
	params := &openapi.CreateMessageParams{}
	params.SetTo("目标用户号码(格式:+国际区号+号码,如+8613xxxxxxxxx)")
	params.SetFrom("你的Twilio号码(格式同上)")
	
	// 传入4张图片的公开URL数组(最多支持10个)
	mediaUrls := []string{
		"https://example.com/image1.jpg",
		"https://example.com/image2.png",
		"https://example.com/image3.gif",
		"https://example.com/image4.jpeg",
	}
	params.SetMediaUrl(mediaUrls)

	// 可选:添加消息文本内容
	params.SetBody("这是为你发送的4张图片")

	// 发送请求
	resp, err := client.Api.CreateMessage(params)
	if err != nil {
		fmt.Printf("发送失败: %v\n", err)
		return
	}
	if resp.Sid != nil {
		fmt.Printf("消息发送成功,SID: %s\n", *resp.Sid)
	}
}

关键注意事项

  • 图片URL要求:必须是公开可访问的HTTP/HTTPS地址,Twilio需要能直接抓取图片资源(本地文件、内网地址、带防盗链的URL都无法正常发送)
  • 号码格式:所有号码必须带国际区号(如国内号码用+86开头),否则会发送失败
  • MMS支持:确保你的Twilio号码支持MMS功能(部分低价号码可能仅支持SMS)
  • 数量限制:单条消息最多支持10个MediaUrl,发送4张完全符合规则

排查失败问题的方法

如果仍然发送失败,可通过以下方式定位问题:

  1. 检查Twilio控制台的错误日志,里面会给出具体错误码(如11200代表URL不可访问,21614代表目标号码不支持MMS)
  2. 直接在浏览器中打开你设置的MediaUrl,确认能正常加载图片
  3. 验证你的Twilio账户状态:没有欠费,目标号码所在地区未被限制

内容的提问来源于stack exchange,提问作者Tatsuya Shiba

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 19:26:15