The 文档 http://docs.aws.amazon.com/sns/latest/dg/sms_publish-to-phone.html#sms_publish_sdk建议为此使用消息属性,但我似乎无法弄清楚要使用什么属性名称。
到目前为止,这有效:
sns = boto3.client('sns', region_name='eu-west-1')
sns.publish(
PhoneNumber='+491701234567',
Message='hi there',
MessageAttributes={
'AWS.SNS.SMS.SenderID': {
'DataType': 'String',
'StringValue': 'MySenderID'
}
}
)
SMS 已发送,但发件人 ID 字段中带有一些(随机?)值。所以看来我对消息属性的设置被默默地忽略了。设置自定义发件人 ID 的正确方法是什么?
发件人 ID 必须为 1-11 个字母数字字符,不得有空格;例如:
-
THISISME
- ✅
-
TestForSO
- ✅
-
StackOverflow
- ????(太长。最多 11 个字符)
-
Some one
- ????(无空格)
正如其他人提到的,发件人 ID 自定义取决于国家/手机提供商,因此请务必对其进行测试。
示例片段
import boto3
access_key = '....'
secret = '....'
region = "us-east-1"
number = '+972...<your number>'
sender_id = 'TestForSO'
sms_message = 'Your code: 123456'
sns = boto3.client('sns', aws_access_key_id=access_key, aws_secret_access_key=secret, region_name=region)
sns.publish(PhoneNumber=number, Message=sms_message, MessageAttributes={'AWS.SNS.SMS.SenderID': {'DataType': 'String', 'StringValue': sender_id}, 'AWS.SNS.SMS.SMSType': {'DataType': 'String', 'StringValue': 'Promotional'}})
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)