如果我想创建一个导入器,soemone 知道我需要使用哪些 API,就像 facebook 中的那个一样,我会感到很困惑。导入用户及其电子邮件。
3 回答
我会让你从一开始就知道,这是关于这些 API 的一般知识,而不是指定给 asp.net。
我已经将联系人导入到我的网络应用程序上,以获取所有这些服务等等。
这是每个服务的细分。如果您需要确认,可以查看此类似帖子。
在我告诉你任何事情之前,你最好对 OAuth 的工作原理以及三足身份验证有一个很好的了解。
坚持,稍等!等一下!三足认证到底是什么鬼?这听起来有点尴尬或扭曲。好吧,我会在这里告诉你,但我真的建议阅读 OAuth以及它与三足身份验证的关系。这很整洁。无论如何,三足身份验证是用户(即使用您的应用程序的人)登录外部服务(即 Google、Yahoo、Live)的一种方式,以便这些服务的消费者(即您的应用程序)可以访问用户的私人数据说外部服务。那个三角渐强怎么样。
三脚如下:
- 用户从您的应用程序重定向到外部服务提供商,其中包含一些标识您的应用程序想要使用一些私人信息(如姓名和电子邮件地址)的信息。
- 用户登录该外部站点并使用经过身份验证的令牌重定向回您的应用程序(将其视为让您的应用程序查看用户私人数据的短期密码)。
- 您的应用程序使用经过身份验证的令牌直接从外部服务提供商检索实际数据。
哇。这很迂回,你不觉得吗?那么大牌这样做的原因是为了让用户不必向你,应用程序的作者透露他们的密码。我们不希望用户的密码在所有这些第三方应用程序中浮动,对吗?
OAuth 只是更广泛的三足身份验证概念的应用。
现在谈谈你实际问的问题。
Hotmail / 直播
Hotmail 现在被称为广告 Windows Live Hotmail。所以 Hotmail 是 Live 的一个子集,由微软控制。只是觉得你应该知道。
在我看来,Live 的联系人 API 是所有这些 API 中最烦人的。它不使用 OAuth,这是广泛接受的三足身份验证解决方案。它使用自己的称为委托身份验证的东西。他们是谁违背了行业标准?他们一定认为他们是世界上最大的计算机公司之类的……
这是API 文档。
谷歌/谷歌
Google 联系人 API 使用 OAuth。OAuth 如此出色的原因是因为它被广泛使用,所以已经有大量的库已经用多种不同的语言为它编写了(当我这样做时,我正在使用 PHP。这是我为 asp.net找到的一个)。
Google Contacts API 是较大的 Google Data API 的一部分。此处概述了使用 OAuth 对 Google 数据 API 进行的身份验证。Google Contacts API 本身的文档就在此处。
请注意,在 Google Contacts API 的文档中,它只提到了两种身份验证方法:AuthSub(将其视为 Google 的 OAuth 专有版本)和 ClientLogin(这根本不是三足身份验证。用户为您的应用程序提供了他们的以编程方式登录的用户名和密码。OAuth 仍然有效!这就是我使用的。
我肯定会推荐使用 OAuth。
雅虎
雅虎是其中最简单的。他们真的只允许 OAuth。一旦你掌握了 Google Contacts API 的 OAuth,让它与 Yahoo Contacts API 一起工作真的很容易。Google Contacts API 和 Yahoo Contacts API 之间的唯一区别是身份验证期间的一些 URL 以及您如何解析从 API 返回的数据。
这里有一些联系。
我在http://import-contacts.blogspot.com/上找到了很好的例子。
我有使用 oauth api 的博客雅虎联系人。您可以在此处下载完整的示例代码http://anandafit.info/2011/01/06/yahoo-contact-list-reader-in-php/。我们也可以对 gmail 使用相同的代码示例,只需少量更改。