好吧,这真让人大失所望!
我原以为 Google 自 2015 年 2 月以来就没有再动过它,但我错了。
看来它在 2020 年进行了全面 redesign,并在 2021 年更新了标志。
好吧,这真让人大失所望!
我原以为 Google 自 2015 年 2 月以来就没有再动过它,但我错了。
看来它在 2020 年进行了全面 redesign,并在 2021 年更新了标志。
我考虑使用 GMAIL 和 Discourse 的 API,将邮件线程转换为 Discourse 帖子。我已经查阅了 Google API,并成功获取了邮件,但还有几个问题:
有意思。是否可以使用 Gmail API 来访问 Google 群组中的邮件,还是您只是拥有一个包含所有发送至该群组的邮件的 Gmail 账户?
建议您将所有消息保存为单独的 *.eml 文件。如果整条消息(包括邮件头)采用 base64 编码,则在保存之前需要对其进行解码。之后,请按照 Migrate a mailing list to Discourse (mbox, Listserv, Google Groups, etc) 中的步骤操作(无需执行 Google 群组相关步骤)。导入脚本将自动处理帖子、附件以及更多内容。
我是该组成员,因此可以使用我的邮箱拉取邮件。整个电子邮件消息(包括邮件头)都将作为编码字符串的一部分。
我将尝试使用您的方法将至少一个主题导入 Discourse。
好吧,在这种情况下,您可能甚至不需要使用 Gmail API。将像 Thunderbird 这样的电子邮件客户端连接到您的 Gmail 账户,并导出单封邮件或 mbox 文件,应该就足够了……
现在我真的很想知道这是如何工作的。我原本以为 Google Groups 不支持 NNTP。
这不是 NNTP,而是 REST API。
我的邮箱容量超过 200GB,若要获取特定群组相关的邮件,我可能需要通过 Thunderbird 下载所有这些邮件。但 Thunderbird 并未显示 Google Groups 的所有邮件,它们都只显示在收件箱中。而且,它每次仅下载 200 封邮件。因此,我不确定获取所有邮件需要多长时间。
是否有其他方法可以直接获取 Google Groups 的数据并导出为 mbox 格式?
您好,Gerhard Schlager,
我们正尝试将我们的 Google 群组迁移到 Discourse。我们已按照文档中的上述步骤操作,但系统仅在 Discourse 中创建了分类,并未导入数据。如果您能尽快对此作出回复,我们将不胜感激。
我们之前知道的唯一方法已不再有效。如果您知道任何获取数据的方法,请立即执行。如果您知道某种获取数据的方法,最好在该方法也失效之前尽快开始获取。
如果数据位于您的邮箱中,则有可能利用 Gmail API 将其拉取下来。但这会很棘手,因为开发者需要能够访问包含 Google 群组数据的邮箱才能编写相关代码。
除非是要求此功能的企业主客户,否则我怀疑 cdck(即 discourse.org)近期会编写此类代码。您可以在 Marketplace 中询问。对于此类工作,我通常不会考虑低于 2000 美元的项目;鉴于我过去对 Google 群组导入脚本的挫折经历,我可能会要求 5000 美元。当然,其他人可能拥有更高的技能或更多的耐心。
一种可能有效的方法是使用 Integromat 编写转换流程,前提是 Google Groups 和 Discourse 应用可用。或者,也可以自行通过 HTTP 调用其 REST API。
Integromat 是一个集成数据迁移系统。它功能非常强大,几乎无需编程即可完成大量任务。
我已经尝试过 Google Takeout,将自己设为我们的 Google Workspace 群组的所有者,并能够下载 Google 群组的对话。目前仍在尝试导入。
这种方法有几个缺点。
您好 @Anjana_Raghavendra_P - 您是否设法使用此方法进行了简单的导入?
非常感谢!
是的,我能够从 takeout 下载 mbox 文件,并按照原始帖子中提到的步骤进行导入。
后来,由于我们使用的是 Discourse 的 PAAS 服务,因此将文件提供给了 Discourse 技术团队,他们成功地将内容导入了 Discourse 平台。
很高兴听到这个消息 - 谢谢!
我在 settings.yml 中将第一行 data_dir: /shared/import/data 从默认值更改时遇到了 @sturdy2 的问题。
要点:不要更改它,因为它指的是导入 Docker 内部的路径,而不是主机器上的路径。
我有一个关于重新启动导入的问题?
我不是开发人员,但我设法成功导入了来自 Topicbox Group Email 的两个 mbox 文件。我将我的测试导入设置在 Digital Ocean 上设置的 Discourse 的临时实例中。并且,由于上面关于设置 category.custom_fields["import_id"] = "mydir" 的说明,我能够将我的两个 mbox 样本文件导入到我已创建的 Discourse 的现有类别中。
太棒了!但是,如果我想导入更多 mbox 文件,我是否必须运行 FAQ 2.2 中提到的所有命令,该命令指示它将“删除所有内容”?
我成功地为两个不同的类别设置了我的“import_id”作为初始测试导入。它奏效了!我的两个 mbox 文件已导入到我指定的现有类别中。
我最终需要处理 18 个不同的类别。我对 Ruby 一无所知。我能否创建一个文件来为我的每个不同类别设置目录名称,这样我就不必在 Ruby 命令行界面中手动输入每一行?
是的。搜索更多 Google “ruby for each”。并创建一个包含部分类别的数组。
不,你不需要。导入器支持增量导入。下次运行时,它只会导入新数据。除非你想从头开始,否则请不要运行 2.2 中提到的命令。
不幸的是,目前还不可能。如果你想导入到现有类别中,则必须为每个类别分配 import_id。
感谢 @gerhard 如此出色的工作!我不是开发者,但我成功地从一个名为 Topicbox 的邮件列表系统迁移。我从 Topicbox 获取了 mbox 文件导入 Discourse。在试错过程中,我将所有内容记录在了博客文章中。所以,如果可以的话?我想在此分享这篇博客文章的链接,供其他想要迁移到 Discourse 的 Topicbox 用户参考。