Ruby on rails 用于导入联系人的OAuth与便携式联系人

Ruby on rails 用于导入联系人的OAuth与便携式联系人,ruby-on-rails,ruby,oauth,portable-contacts,Ruby On Rails,Ruby,Oauth,Portable Contacts,我们目前正在使用过时的screen scraper gem从gmail/yahoo/等导入联系人。我想更新它,以使用新的基于OAuth的API,这样用户就不必在我们的网站上输入他们的凭据。我对Plaxo所做的工作很感兴趣,Google也支持这项工作。感觉这是只读访问的一个很好的方向,它仍然受到OAuth的支持 对于这些提供商,是否有任何令人信服的理由只使用标准的OAuth API,而不使用Portable Contacts路线?我想知道是否有充分的理由避免它。对于不支持PC的应用程序,我仍然会使

我们目前正在使用过时的screen scraper gem从gmail/yahoo/等导入联系人。我想更新它,以使用新的基于OAuth的API,这样用户就不必在我们的网站上输入他们的凭据。我对Plaxo所做的工作很感兴趣,Google也支持这项工作。感觉这是只读访问的一个很好的方向,它仍然受到OAuth的支持


对于这些提供商,是否有任何令人信服的理由只使用标准的OAuth API,而不使用Portable Contacts路线?我想知道是否有充分的理由避免它。对于不支持PC的应用程序,我仍然会使用straight OAuth,因此这不是开发时间的问题,更多的是对新方法的支持和信心。

想法是每个OAuth实现都会略有不同,因为每个Portable Contacts实现都是相同的。这有点像REST API(OAuth)和SOAP API(Portable Contacts,但开销与OAuth相同)

因此,从理论上讲,您应该能够制作一个便携式Contacts阅读器,并将其连接到任何支持它的提供商,而无需额外工作


目前,实际上,您可能需要同时使用可移植联系人和OAuth非可移植端点。(大多数OAuth非便携式提供商有望转向便携式联系人)

OAuth核心既不定义发现(将用户引导到OAuth URL,该URL将允许他们向使用者授权资源)也不定义表示(通知使用者令牌将提供什么授权)。如果没有诸如便携式联系人之类的规范,这些需要消费者和提供商临时商定(发现可能被简化为一个众所周知的URL)。因此,便携式联系人只是为每个使用它们的提供商回答这些问题一次。如果您想要支持那些不支持的提供者,那么您将需要找出特别的答案,但是无论如何,您将使用相同的OAuth核心实现来实现所有这些提供者


便携式通讯录本身建立在OAuth Discovery规范的基础上,不幸的是,该规范似乎已过期,无法更换。

这正是我所想的。我可以为Google和Plaxo构建一个可移植的联系人客户端,然后为其他人使用OAuth。谢谢