我应该如何通过通信应用程序构建此应用程序?
How should I build this app over communcation apps?
这些天我发现自己不得不为我的一门大学课程实施一个系统,该系统应该充当许多通信应用程序(如 Gmail、Facebook Messenger 甚至 WhatsApp)的巨大包装器。简单地说您应该有一个巨大的 Web 界面,您可以在其中授权 Gmail、Messenger 并在需要时立即使用它们。我正在考虑使用 REST API 来管理由 OAuth2.Also 授权的用户服务 我正在考虑在后端使用 Node.JS 和 Express.js 以及 React.js在前端。我在 npm 中发现了一些不错的库,它们应该负责与所涉及的 APIs(例如 https://www.npmjs.com/package/node-gmail-api 这个)进行交互,但我也对这种方法表示怀疑,例如我不知道如何例如,让用户收到有关其传入邮件或消息的通知。我急需一些专业知识,因为我忘了提及,但我是这个领域的新手。总结一下,我的问题是您将如何实施这样的基础设施?是我的方法可行还是我一定会遇到一些非常难以克服的障碍?
作为一项大学练习,这将是一个非常有趣的实验,因此绝对值得您投入时间。但是,一旦你想添加更多的功能,复杂度就会上升得相当快。
以下是您可以想到的几个想法:
- 很明显,您的系统不能做比 API 通信应用程序公开的功能更多的事情(例如,如果 API 没有,您就无法在 gmail 中收到通知'有这个能力)。
- 因此,您应该仔细研究 API 及其公开的功能。他们有 public 文档,您可以查看:(Gmail API, Facebook Messanger API)
- 您想要与之交流的一些应用程序可能没有官方 API(例如 WhatsApp)- 您肯定想从一开始就知道的那些细节。
- 根据对那些 API 的分析,您应该为您的系统列出一个需求列表,可以从所有 API 中提取,例如:消息通知,文件传输、用户配置文件等
- 通过这种方式,您可以确切地知道您的系统应该具备哪些功能,并且您最终不会实现仅在 4 个中有 1 个 API 可用的功能。
- 此外,从用户的角度设计您的系统会有点挑战,因为应用程序有不同的使用模式 - 聊天应用程序,消息是实时的,而电子邮件不是实时的-时间沟通。无论如何,这只是一个细节,你的项目的要点是玩那些 APIs.
此外,可能值得查看与此项目相关的 Gateway Aggergation Pattern - 您可能希望用户通过对您的服务使用单个请求向多个应用程序发送消息。
这些天我发现自己不得不为我的一门大学课程实施一个系统,该系统应该充当许多通信应用程序(如 Gmail、Facebook Messenger 甚至 WhatsApp)的巨大包装器。简单地说您应该有一个巨大的 Web 界面,您可以在其中授权 Gmail、Messenger 并在需要时立即使用它们。我正在考虑使用 REST API 来管理由 OAuth2.Also 授权的用户服务 我正在考虑在后端使用 Node.JS 和 Express.js 以及 React.js在前端。我在 npm 中发现了一些不错的库,它们应该负责与所涉及的 APIs(例如 https://www.npmjs.com/package/node-gmail-api 这个)进行交互,但我也对这种方法表示怀疑,例如我不知道如何例如,让用户收到有关其传入邮件或消息的通知。我急需一些专业知识,因为我忘了提及,但我是这个领域的新手。总结一下,我的问题是您将如何实施这样的基础设施?是我的方法可行还是我一定会遇到一些非常难以克服的障碍?
作为一项大学练习,这将是一个非常有趣的实验,因此绝对值得您投入时间。但是,一旦你想添加更多的功能,复杂度就会上升得相当快。
以下是您可以想到的几个想法:
- 很明显,您的系统不能做比 API 通信应用程序公开的功能更多的事情(例如,如果 API 没有,您就无法在 gmail 中收到通知'有这个能力)。
- 因此,您应该仔细研究 API 及其公开的功能。他们有 public 文档,您可以查看:(Gmail API, Facebook Messanger API)
- 您想要与之交流的一些应用程序可能没有官方 API(例如 WhatsApp)- 您肯定想从一开始就知道的那些细节。
- 根据对那些 API 的分析,您应该为您的系统列出一个需求列表,可以从所有 API 中提取,例如:消息通知,文件传输、用户配置文件等
- 通过这种方式,您可以确切地知道您的系统应该具备哪些功能,并且您最终不会实现仅在 4 个中有 1 个 API 可用的功能。
- 此外,从用户的角度设计您的系统会有点挑战,因为应用程序有不同的使用模式 - 聊天应用程序,消息是实时的,而电子邮件不是实时的-时间沟通。无论如何,这只是一个细节,你的项目的要点是玩那些 APIs.
此外,可能值得查看与此项目相关的 Gateway Aggergation Pattern - 您可能希望用户通过对您的服务使用单个请求向多个应用程序发送消息。