【问题标题】:Third party API integration - How to structure the database第三方 API 集成 - 如何构建数据库
【发布时间】:2023-03-12 17:59:01
【问题描述】:

在我的应用程序中,我正在集成不同的第三方 API,例如 Google 联系人、Google 日历、Mailchimp 等... 每个第三方 API 都有特定的设置,我可以要求用户在与我的应用同步期间应用。

我有两个选择:

  1. 我制作了像“集成”这样的唯一表,用于存储所有连接。在这里,恐怕我需要添加许多列来跟踪不同 API 的设置(联系人隐私、日历 ID、Mailchimp 受众 ID...等...)
  2. 我为每个集成的第三方 API 制作了一个表格,以便通过专用列单独跟踪所有相关设置。当我接触到许多不同的第三方 API 时,这里可能会有很多表。

我认为第二个是最好的,但我需要您的帮助来根据最佳实践构建我的数据库以实现可扩展性。

谢谢!

【问题讨论】:

    标签: database api google-calendar-api integration google-contacts-api


    【解决方案1】:

    你试图做的事情显然违反了谷歌的服务条款,特别是Section 5 e. Prohibitions on Content

    除非内容所有者或适用法律明确允许,否则您不会也不会允许您的最终用户或代表您行事的其他人对从 API 返回的内容执行以下操作:

    1. 抓取、构建数据库或以其他方式创建此类内容的永久副本,或保留缓存副本的时间超过缓存标头允许的时间;
    2. [...]

    这有很好的法律和道德理由。所以答案实际上是不这样做,并且每次都使用 API。

    【讨论】:

    • 嗯,对不起,但我认为以上是不同的论点。我说的是存储用户的连接设置,而不是数据,否则我如何允许用户在任何登录时保持连接?我存储的数据是令牌和设置,例如(同步日历名称“John”而不是另一个。您显示的文档与将 Google 日历中的事件存储到我的应用程序等内容相关。我不这样做。顺便说一句,如果我想同步用户的 Google 通讯录并将它们连接到我的应用任务,我是否需要至少存储 Google 联系人 ID,可以吗?
    • @Echecivuole 哦,那对不起。我的印象是您直接保存用户数据(您只谈论保存连接,而不是 ID)。您可以编辑您的帖子以使其清楚吗? :)
    • 不用担心!我已经编辑了帖子以避免误解。顺便说一句,仍然开放的一点是:当我允许用户在我的应用程序中同步他的联系人时,我可以在用户允许后将联系人数据存储到我的数据库中,以加快这些联系人的显示吗?否则对于每个请求我都应该调用 API。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-29
    • 2015-10-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多