用于发送 SMS 的 Twilio API 在本地有效,但部署到 Netflify 时无效

问题描述 投票:0回答:0

我已经按照这里找到的教程 https://www.twilio.com/blog/send-an-sms-react-twilio 设置了一个项目,但我不明白为什么应用程序在本地工作但什么时候不工作它已部署!
我在 Netlify 上手动设置环境变量,我的其他 API 在部署后工作正常。 Twilio 由于某种原因中断并向我抛出这些错误Errors

这就是我的提交功能的样子

  onSubmit(event) {
    event.preventDefault();
    this.setState({ submitting: true });
    console.log("Request Payload:", JSON.stringify(this.state.message));
    fetch("/api/mesages", {
      method: "POST",
      headers: {
        "Content-Type": "application/json",
      },
      body: JSON.stringify(this.state.message),
    })
      .then((res) => res.json())
      .then((data) => {
        if (data.success) {
          this.setState({
            error: false,
            submitting: false,
            message: {
              to: "",
              body: "",
            },
          });
          alert("SMS sent successfully!");
        } else {
          this.setState({
            error: true,
            submitting: false,
          });
          alert("SMS failed to send :(");
        }
      })
      .catch((error) => {
        console.error("Error:", error);
        this.setState({
          error: true,
          submitting: false,
        });
      });
  }

这就是我的 server.js 中的内容

const express = require("express");
const bodyParser = require("body-parser");
const path = require('path');
require('dotenv').config();
const client = require("twilio")(
  process.env.REACT_APP_TWILIO_ACCOUNT_SID,
  process.env.REACT_APP_TWILIO_AUTH_TOKEN
); 
const accountSid = process.env.REACT_APP_TWILIO_ACCOUNT_SID;
const url = `https://api.twilio.com/2010-04-01/Accounts/${accountSid}/Messages.json`;

const app = express();
app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json());

app.post('/api/messages/test', (req, res) => {
  res.header('Content-Type', 'application/json');
  client.messages
    .create({
      from: process.env.REACT_APP_TWILIO_PHONE_NUMBER,
      to: req.body.to,
      body: req.body.body
    })
    .then(() => {
      console.log(client.messages)
      res.send(JSON.stringify({ success: true }));
      console.log(res)
    })
    .catch(err => {
      console.log(err);
      res.send(JSON.stringify({ success: false }));
    });
});

app.get('/*', function(req, res) {
  res.sendFile(path.join(__dirname, 'build', 'index.html'));
});

const port = process.env.PORT || 3001;
app.listen(port, () =>
  console.log(`Express server is running on port ${port}`)
);

链接到 github https://github.com/CoreySumma/react-text-generator

如果有人能帮我解决这个问题,我将不胜感激!谢谢。

我尝试设置一个端点 url,我在我的 server.js 中的 fetch 中找到了他们的文档,但它没有用。(

https://api.twilio.com/2010-04-01/Accounts/${accountSid}/Messages.json
;) 我尝试重新部署。

我阅读了所有文档,但找不到任何看起来像解决方案的东西!

javascript reactjs api deployment twilio
© www.soinside.com 2019 - 2024. All rights reserved.