使用React.js和Twilio API

时间:2015-11-07 22:44:54

标签: javascript reactjs twilio

我正在研究使用React.js为项目创建一个小型Twilio应用程序。我相当擅长React和JavaScript(但不是专家),但我遇到了一些麻烦。

最初,我正在尝试将帐户中的所有邮件加载到网页。这是我的代码:

import React from 'react'
import {connect} from 'react-redux'

var accountSid = '####';
var authToken = "####";
var client = require('twilio')(accountSid, authToken);

var msgList = []

const messages = () => {
  client.messages.list(function(err, data) {
    data.messages.forEach(function(message) {
      msgList.push(message)
    });
  })
  return msgList
}

class LandingPage extends React.Component {
  render() {
    return (
      <h1>Hello!</h1>
    )
  }
}

export default connect(select)(LandingPage)

(当然,还有更多的文件,但这是我当前正在处理的问题)。

首先,当我在浏览器中加载它时,我在控制台中收到错误:

Uncaught TypeError: querystring.unescape is not a function

这显然与client.messages.list(function(err, data) {行有关。

另外,我将如何渲染每个message.body?我想我必须使用for循环,但我不确定它会在哪里。

1 个答案:

答案 0 :(得分:3)

您尝试使用的库是为Node.js编写的,我假设您尝试在浏览器或React Native中使用它?几位:

  • 您不应将来自客户端应用程序的Twilio API与您的帐户SID和身份验证令牌一起使用。这些凭据是Twilio帐户的“王国钥匙”,如果您将它们放在任何客户端应用程序中,可能会受到损害。

  • 您尝试使用的模块是为Node.js编写的,可能无法在浏览器中开箱即用。我还没有对它进行过测试,但是如果你打算以这种方式封装你的前端代码,它可能适用于Browserify。

对于您尝试实现的用例,我会在您的服务器上获取消息,并通过Ajax将它们发送到客户端,而不是直接从客户端访问API。