OpenID 是一件好事,但我仍然必须将用户设置存储在我自己的服务器上。我正在创建一个小应用程序,它只有一些可以存储在 JSON 文件中的设置。有没有办法将此类数据存储在 Google 帐户中?
我已经找到了: Storing data on a user's Google's account
因此,我知道可以将此类数据存储在文档中。但是......我想让这些数据远离用户。他不应该看到包含我的 JSON 数据的文档。有人知道另一种更专业的方式吗?
感谢您的回答!
OpenID 是一件好事,但我仍然必须将用户设置存储在我自己的服务器上。我正在创建一个小应用程序,它只有一些可以存储在 JSON 文件中的设置。有没有办法将此类数据存储在 Google 帐户中?
我已经找到了: Storing data on a user's Google's account
因此,我知道可以将此类数据存储在文档中。但是......我想让这些数据远离用户。他不应该看到包含我的 JSON 数据的文档。有人知道另一种更专业的方式吗?
感谢您的回答!
参考您问题中的链接,将信息存储在用户的 Google 帐户和他们的 Google Docs(或现在的 Google Drive)中的文档中是两件不同的事情。文档就是这样,用户可以自由更改或删除它。我不喜欢将我的 Google Docs 视为某种形式的 INI 文件或注册表项以存储用户数据的应用程序。
您将无法在他们的 Google 帐户中存储任何信息。OpenID 用于身份验证。
您必须维护自己的用户数据数据库才能达到所描述的目标。根据您的实施限制,AWS SimpleDB 或 DynamoDB、SQL Azure 或 Google AppEngine 是一些提供用户数据存储方法的产品。
OpenID 的存在是为了让应用程序可以使用一个大型的、完善的实体(例如 Google)来处理用户身份验证,以便应用程序开发人员可以专注于其他任务。根据您的问题,您的目标就是做到这一点,将数据存储问题转移给第三方,以便您可以专注于您的产品并避免重新发明轮子。
但是,OpenID 不是这样工作的。如您所知,这个想法是将身份验证过程外包给第三方,并且仅将身份验证过程外包给第三方。OpenID 应该做的不多也不少;它要么回答“是的,我们知道这个人就是他/她所说的那个人”或“不,我不认识这个人”。
将应用程序数据存储在 Google 帐户中有点违背 OpenID 的目的,而且我看不出有任何 OpenID 提供商违反了这个标准。
话虽如此,我有两个解决方案要向您提出,虽然它们并不是您正在寻找的,但它们确实可以解决您的问题,并让您专注于打造您的产品和品牌。
Bigtable-JS:
Bigtable-JS是 Chris Thatcher 维护的一个项目。它是一个在 Google App Engine 上运行的 RESTful JSON 数据库。您无需了解 Python 或 Java 即可使用它,因为它旨在接受 HTTP GET、POST、PUT 和 DELETE 请求,以便在高度可扩展的 Google App Engine 数据存储中简单地检索和存储数据。
该项目已经有 2 年没有更新了,但考虑到它只是存储 JSON 字符串,很有可能维护工作很少。
此外,由于您的数据存储需求很轻,只要有适量的缓存,您就可以在不超过 Google App Engine 的免费配额的情况下进行操作。
这个开源项目在 GitHub 上可用。
博主:
可以肯定地说,当大多数人想到Google Blogger时,他们会想到博客?好吧,Google Blogger 团队的成员 Brett Morgan 和 Pat Coleman 似乎不这么认为。
在 2011 年 Google IO 大会上的 42 分钟演讲中,题为“ Google I/O 2011:使用 Blogger API 构建商业网络存在”,他们概述了他们如何使用 Blogger API 来构建电子商务和移动网站,同时利用 Google 的基础设施,同时使用经过验证的并测试了 API。
他们在演示中展示的网站与 Blogger 完全不同,这是因为他们超越了博客,而是采用了更抽象的方法来使用 API:
这些实际上只是底层的分组,您的应用程序不需要关心它是将数据存储在帖子正文中还是其他文本变体中。REST 的强大之处在于接口在两个系统之间提供的分层,这使它们都可以自由地做他们最擅长的事情。
由于您只是存储一个 JSON 字符串,因此您可以使用 Blogger API 将该字符串存储在帖子正文中,并将博客设为私有,以便数据在 Google 的基础架构中得到安全保护。
概括:
虽然这些解决方案都不允许您将数据存储在用户的 Google 帐户中,但它们都可以让您自由地将开发工作集中在其他任务上,并将数据库管理任务留给云端。
您可能要考虑的其他解决方案如下:
Redis - 一个开源 NoSQL 数据库。
Google Storage for Developers - 使用 REST 接口将数据存储在 Google 的基础架构上。这是一项付费服务,但它可能与您正在寻找的内容最接近,因为它是Google API Console的一部分。