【问题标题】:Send SMS with AWS Javascript SDK使用 AWS Javascript SDK 发送短信
【发布时间】:2016-12-09 20:39:59
【问题描述】:

我想使用带有验证码的 AWS javascript sdk 发送短信。

var AWS = require('aws-sdk');
AWS.config.region = 'us-east-1';
var sns = new AWS.SNS();

var params = {
  Message: 'this is a test message',
  MessageStructure: 'string',
  PhoneNumber: '+12346759845'
};

sns.publish(params, function(err, data) {
  if (err) console.log(err, err.stack); // an error occurred
  else     console.log(data);           // successful response
});

我不断收到“在参数中找到意外的键 \'PhoneNumber\'”。

我已按照文档中的示例进行操作,据我所知,我所拥有的似乎是有效的。显然,我不需要创建主题来发送单独的短信。

【问题讨论】:

  • 代码看起来正确。您是否在使用旧版本的 AWS 开发工具包?
  • @user3345171 应该是 AWS.SNS();是 AmazonSNSClient(); ?
  • @error2007s 不,这是 JavaScript,您似乎正在尝试将其转换为 Java。
  • 就是这样,马克。非常感谢!
  • @user3345171 你最终使用的是什么版本?我尝试不设置版本并将其设置为“2010-03-31” - 两次我都收到有关在 params 中找到的 Unexpected key 'PhoneNumber' 的错误。你能用正确的代码更新你的问题吗?还是您必须在控制台上做一些特定的事情?

标签: javascript node.js amazon-web-services amazon-sns


【解决方案1】:

是的,所以正确的答案是使用了过时的 sdk 版本。 要修复它,请将您的 package.json 文件中的 aws-sdk 设置为 * 并运行

npm 安装 aws-sdk

使用最新版本,此代码可以正常运行!

【讨论】:

    【解决方案2】:

    我遇到了同样的问题。这是因为 AWS SNS 仅在某些区域受支持。此链接列出了支持的区域 - https://docs.aws.amazon.com/sns/latest/dg/sms_supported-countries.html

    【讨论】:

      猜你喜欢
      • 2018-04-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-22
      • 1970-01-01
      • 1970-01-01
      • 2022-01-17
      • 1970-01-01
      相关资源
      最近更新 更多