从电子邮件帐户获取联系人

时间:2020-03-05 18:59:59  来源:igfitidea点击:

Twitter,Facebook等许多网站都允许用户输入其电子邮件ID和密码,并基于此"提取"联系人。

有人知道这是怎么做的吗?

解决方案

回答

他们登录到帐户并抓取内容,或者使用公共API。无论哪种方式,都不是我自己实现或者使用的方法,因为我不会凭借自己的凭据信任其他任何人。而且我认为它教会用户不要担心其凭据的保密性。

回答

我假设他们通过POP3(公共API)登录到电子邮件帐户,或者他们知道Webmail系统的html格式并读取DOM。然后,他们找到我们收到的任何人并向其发送电子邮件,并浏览其自己的用户数据库以查找匹配项。

回答

对于gmail:

http://sourceforge.net/projects/gmail-api

http://johnvey.com/features/gmailapi/

回答

是的,我同意。用电子邮件凭据信任站点并不安全。尤其是在gmail存档程序(http://it.slashdot.org/article.pl?sid=08/03/11/1723206&from=rss)发现了什么之后

但是仅仅从程序化POV中,我想知道他们是如何做到的。也许Gmail hotmail和其他所有邮件都具有供用户使用的API...。我想需要对其进行更多研究。

回答

除了道德问题之外,还有一个商业图书馆可以为我们解决这个问题:http://www.octazen.com/product_abimporter.php

该库可用于PHP,.NET,Java,Ruby和ColdFusion。它支持从数十种不同的服务(包括所有主要服务)中导入联系人。

只需花费约100美元的许可费用,即可完美运行,并且(使用Java版本)仅需要以下代码行即可从任何受支持的服务中导入联系人:

List<Contact> contacts = SimpleAddressBookImporter.fetchContacts(emailAddress, password)

他们还有另一个可以从社交网络导入朋友列表的库,尽管我没有尝试过。

回答

这就是OAuth设计的目的。 Google已开始采用它。它与更典型的抓取没有相同的信任问题。

不幸的是,暂时来说,人们倾向于只要求我们输入密码,以身份登录并抓取信息,而这种方法的安全性要差得多,因为它使网站可以完全访问帐户。这不是我们应该复制的内容,请尽可能使用OAuth或者同等功能。

回答

有可用的APis:

Yahoo-> http://developer.yahoo.com/addressbook/

Google-> http://code.google.com/apis/contacts/

没有针对AOL(尚未)。