首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用ClaudiaJS和AWS发送POST HTTP

用ClaudiaJS和AWS发送POST HTTP
EN

Stack Overflow用户
提问于 2017-03-31 21:23:10
回答 1查看 802关注 0票数 2

我在facebook信使中构建了一个推送通知服务。我的nodejs应用程序在我的本地主机上运行得很好,但在AWS中却不行。

我使用请求模块(npm)发送消息。

我的服务可以获得参数,但不发送HTTP。

代码语言:javascript
复制
var ApiBuilder = require('claudia-api-builder'),
  api = new ApiBuilder();

var request = require('request')



api.get('hello', function (req) {

  var token = req.queryString.token;
  var sender = req.queryString.sender;
  var msg = req.queryString.msg;
  messageData = {};
  messageData.text = msg;

  request({
      url: 'https://graph.facebook.com/v2.6/me/messages',
      qs: { access_token: token },
      method: 'POST',
      json: {
          recipient: { id: sender },
          message: messageData,
      }
  }, function (error, response, body) {
      if (error) {
          return 'Error sending message: ' + error;
      } else if (response.body.error) {
          return 'Error: ' + response.body.error;
      }
  });



  return sender + ' ' + messageData.text  ;
})


module.exports = api;
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-04-02 11:05:54

您需要从API构建器方法处理程序中返回异步操作的承诺。您可以使用类似gotminimal-request-promise之类的工具将HTTP请求转换为承诺,也可以只使用简单的承诺包装器(如return new Promise((resolve, reject) => request(...., function (error, result) { if (error) { return reject(errror); else resolve(result) } })) )

参见关于如何使用Claudia的外部服务的指南中的第4项:https://claudiajs.com/tutorials/external-services.html

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43149865

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档