当前位置: 首页 > 知识库问答 >
问题:

使用REST通过亚马逊SNS服务发送短信

景志
2023-03-14

我正在尝试开发这个AWS请求的后续程序:https://docs.AWS.amazon.com/general/latest/gr/sigv4-signed-request-examples.html

当您“按原样”执行时,它可以工作,但我正试图从该脚本发送一个SMS,并且不断得到“签名不匹配”响应(HTTP 403):

  <Error>
    <Type>Sender</Type>
    <Code>SignatureDoesNotMatch</Code>
    <Message>The request signature we calculated does not match the signature you provided. Check your AWS Secret Access Key and signing method. Consult the service documentation for details.</Message>
  </Error>
  <RequestId>a58398ba-74c1-5308-abbe-cfe97a28fc30</RequestId>
</ErrorResponse>

现在,我在(默认)Python脚本中更改的只是这一部分(当然,没有公开我的电话号码):

method = 'GET'
service = 'sns'
host = 'sns.us-west-2.amazonaws.com'
region = 'us-west-2'
endpoint = 'https://sns.us-west-2.amazonaws.com'
request_parameters = 'Action=Publish&Message=TestSenderID&Version=2010-03-31&PhoneNumber=00123123123'

当然,还更换了访问和秘密密钥。

然而,当我通过邮递员做同样的请求,例如,它起作用。这让我怀疑这个请求除了使用默认的Python脚本之外什么都不使用,可能会有什么问题。

有人来帮忙吗?

共有1个答案

令狐灿
2023-03-14

拿到了!“request_parameters”字符串有一个顺序,其中Version应该在末尾。

Action=Publish&Message=Test&PhoneNumber=00123123123&Version=2010-03-31

希望这对将来有帮助,如果更多的人在这个问题上陷入困境。

 类似资料:
  • 我们一直在通过Amazon SNS和Google Cloud Messaging(GCM)向Android设备发送消息。这是我们正在输入SNS发送消息功能的原始SNS json消息: 由于某种原因,带有和的“通知”部分似乎被忽略了。设备上未显示任何通知。 任何人都可以确认通知可以通过SNS发送,或者(正如我们所怀疑的那样)是否存在一些限制,其中只能理解json的数据部分?

  • 我试着用亚马逊sns发送短信 成功将短信发布到电话号码+23481XXXXXXX。消息“ID”:********************************* 但消息状态显示为“Fail”。 请问在我开始发送短信之前,在验证我的帐户之后,我还有什么其他的事情要做吗?

  • 我正在尝试使用亚马逊AWS向我的手机发送短信。特别是,我正在使用SNS服务,在创建新订阅的过程中陷入了困境。 抱歉,我的屏幕截图在下拉菜单中无法工作,所以我用手机拍了一张贫民区的照片。 有什么想法吗?

  • 我想通过向Android手机endpoint发送推送通知。 已配置并已准备好发送通知。在使用我发送的 JSON 的 SNS 控制台中 { “GCM”: “{ ”通知“: { ”标题“: ”标题“, ”正文“: ”正文“} 但我只收到空notification.No正文,没有标题(只有应用程序图标)。

  • 我对amazon sns有奇怪的问题。我正在使用amazon aws的nodejs sdk向android设备发送推送通知。问题是当我将消息发送到亚马逊服务器时,它会返回一个MessageID,但消息没有传递。 这是亚马逊发布的代码: 如果我使用亚马逊控制台发布通知工作完美。此外,如果我从gcmMessage中删除JSON.stringify,它正在发送push通知,但没有gcm数据。

  • 我们正在开发一个系统,我们需要向数千部手机发送推送通知。我们使用Amazon SNS进行了设置。我们将向每部手机发送单独的消息,因此我们直接发送到SNSendpointARN,而不是主题ARN。 我们目前正在想这个系统的性能。我在网上找不到任何关于可以向SNS发送多少消息的内容。例如,如果我需要向25000个SNSendpoint发送25000条消息,我可以以多快的速度发送它们?秒、分钟、小时?