微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在 Angular 上使用 Twilio?

如何解决如何在 Angular 上使用 Twilio?

我正在将 whatsapp 消息与我的应用程序集成,但我遇到了构建问题

whatsapp.service.ts

    import { Injectable } from "@angular/core";
    import { Twilio } from "twilio";
    // usado para ler os arquivos .env
    require("dotenv").config();
    
    let twilioID: string = "";
    let twilioToken: string = "";
    
    if (process.env.ENVIROMENT == "local" || process.env.ENVIROMENT == "dev") {
      //Dev ou local enviroment
      twilioID = process.env.TWILIO_TEST_SID || "";
      twilioToken = process.env.TWILIO_TEST_AUTH_TOKEN || "";
    } else {
      // Em produção
      twilioID = process.env.TWILIO_PRODUCTION_SID || "";
      twilioToken = process.env.TWILIO_PRODUCTION_AUTH_TOKEN || "";
    }
    // Cliente para usar funções da api do twilio
    const client = new Twilio(twilioID,twilioToken);
    
    const BOT_NUMBER = "whatsapp:+14155238886";
    
    @Injectable({
      providedIn: "root",})
    export class WhatsAppService {
      sendWhatsAppMessage(
        numberDestiny: number,message: string,countryCode: number
      ) {
        return client.messages.create({
          from: BOT_NUMBER,to: `whatsapp:+${countryCode}${numberDestiny}`,body: message,});
      }
    
      sendMediaWhatsAppMessage(
        numberDestiny: number,countryCode: number,mediaUrls: string[]
      ) {
        return client.messages.create({
          mediaUrl: mediaUrls,from: BOT_NUMBER,});
      }
    }

构建错误

./node_modules/jsonwebtoken/node_modules/jwa/index.js 中的错误未找到模块:错误:无法解析“加密” 'C:\Users\ialex\Documents\Development\node_modules\jsonwebtoken\node_modules\jwa'

./node_modules/scmp/index.js 中的错误模块未找到:错误:不能 解决“加密” 'C:\Users\ialex\Documents\Development\node_modules\scmp'

./node_modules/twilio/lib/webhooks/webhooks.js 中的错误模块没有 发现:错误:无法解析“加密” 'C:\Users\ialex\Documents\Development\node_modules\twilio\lib\webhooks'

./node_modules/dotenv/lib/main.js 中的错误模块未找到:错误: 无法解析“fs” 'C:\Users\ialex\Documents\Development\node_modules\dotenv\lib'

./node_modules/twilio/lib/base/RequestClient.js 模块中的错误不是 发现:错误:无法解析“fs” 'C:\Users\ialex\Documents\Development\node_modules\twilio\lib\base'

./node_modules/twilio/lib/base/RequestClient.js 模块中的错误不是 发现:错误:无法解析“http” 'C:\Users\ialex\Documents\Development\node_modules\twilio\lib\base'

./node_modules/twilio/lib/base/RequestClient.js 模块中的错误不是 发现:错误:无法解析“https” 'C:\Users\ialex\Documents\Development\node_modules\twilio\lib\base'

./node_modules/dotenv/lib/main.js 中的错误模块未找到:错误: 无法解析“路径” 'C:\Users\ialex\Documents\Development\node_modules\dotenv\lib'

错误在 ./node_modules/jsonwebtoken/node_modules/jws/lib/sign-stream.js 模块 未找到:错误:无法解析“流” 'C:\Users\ialex\Documents\Development\node_modules\jsonwebtoken\node_modules\jws\lib'

错误在 ./node_modules/jsonwebtoken/node_modules/jws/lib/verify-stream.js 未找到模块:错误:无法解析“流” 'C:\Users\ialex\Documents\Development\node_modules\jsonwebtoken\node_modules\jws\lib'

错误在 ./node_modules/jsonwebtoken/node_modules/jws/lib/data-stream.js 模块 未找到:错误:无法解析“流” 'C:\Users\ialex\Documents\Development\node_modules\jsonwebtoken\node_modules\jws\lib'

解决方法

这里是 Twilio 开发者布道者。

这里的问题是因为您试图在客户端应用程序中使用 Twilio Node.js library。首先,Node 库不是为在浏览器中使用而构建的。

更重要的是,这不是一个好主意,因为它要求您的帐户 SID 和身份验证令牌出现在客户端中。恶意用户可能会从应用源中读取您的帐户 SID 和身份验证令牌,然后使用它们来滥用您的 Twilio 帐户。

相反,您应该向服务器端的 Twilio API 发出请求,然后将相关数据从 Angular 应用程序发送到服务器。

不久前我确实编写了一个示例 Angular 应用程序,这可能会有所帮助。你可以看到我如何send the data to the server in this MessageService然后send it to the Twilio API in this server side route。 (我很抱歉没有关于此应用程序的更多文档。)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。