【问题标题】:Nexmo API calls in Google App ScriptGoogle App 脚本中的 Nexmo API 调用
【发布时间】:2018-07-20 19:29:32
【问题描述】:

我使用 Twilio 在 Google 表格中发送短信,只需对以下代码稍作修改(我已更改短信有效负载字段和 API 密钥引用)

代码正在执行,但我没有收到短信,我尝试在 Nexmo 平台的仪表板中挖掘日志,但没有显示错误日志。

看起来可能需要对身份验证稍作调整?以下是我认为错误所在的 API/有效负载部分:

NEXMO

(下面的工作代码)

任何 Nexmo 用户都可以发现可以解决此问题的身份验证问题吗?

【问题讨论】:

  • 授权失败通常会导致 401 Unauthorized 或 403 Forbidden 错误
  • 您希望向options 添加内容做什么? UrlFetchApp 不接受 params 参数中的所有内容并将它们变成查询字符串,然后将其附加到给定的 URL...developers.google.com/apps-script/reference/url-fetch/…

标签: javascript google-apps-script twilio urlfetch nexmo


【解决方案1】:

对于 Nexmo SMS API,凭据必须作为 GET 参数提供,而不是通过 Basic auth 提供。您的密钥应该在一个名为api_key 的参数中,秘密在api_secret 中。有关 API 工作原理的更多详细信息,请参阅https://developer.nexmo.com/api/sms

另请参阅Authorization 上的指南。

【讨论】:

  • 谢谢,迈克尔。尝试了一些变体,但没有运气。这是我目前在上面的帖子中编辑的内容。
【解决方案2】:

这是工作代码

  var payloads = {
    'to': mobileNumber,
    'text': smsMessage,
    'from': nexmoNumber,
    'api_key':api_key,
    'api_secret':api_secret
  };


  var messagesUrl = 'https://rest.nexmo.com/sms/json?' +api_key;
  var options = {
    'contentType': 'application/json',
    'method':'post',
    'payload': JSON.stringify(payloads)
  };

  var response = UrlFetchApp.fetch(messagesUrl,options);
  Logger.log(response.getContentText());

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-25
    • 1970-01-01
    相关资源
    最近更新 更多