Twitter、Facebook などの多くの Web サイトでは、ユーザーがメール ID とパスワードを入力し、それに基づいて連絡先を「抽出」できます。
これがどのように行われるか知っている人はいますか?
彼らはあなたのアカウントにログインしてコンテンツをスクレイピングするか、パブリック API を使用します。いずれにせよ、自分の資格情報で他の誰かを信頼しないため、自分で実装または使用する方法ではありません。また、資格情報の秘密に不注意であることをユーザーに教えていると思います。
倫理的な問題は別として、これを行うことができる市販のライブラリがあります: http://www.octazen.com/product_abimporter.php
このライブラリは、PHP、.NET、Java、Ruby、ColdFusion で利用できます。多数の異なるサービス (すべての主要サービスを含む) からの連絡先のインポートをサポートしています。
ライセンスの費用は約 100 ドルで、完全に機能し、(Java バージョンを使用して) サポートされているサービスから連絡先をインポートするには、次の 1 行のコードのみが必要です。
List<Contact> contacts = SimpleAddressBookImporter.fetchContacts(emailAddress, password)
ソーシャル ネットワークから友達リストをインポートできる別のライブラリがありますが、私は試していません。
利用可能なAPがあります:
Yahoo-> http://developer.yahoo.com/addressbook/
Google- > http://code.google.com/apis/contacts/
AOLの場合は(まだ)ありません。
これは、OAuthが設計された目的のようなものです。 Google はそれを採用し始めました。より典型的なスクレイピングと同じ信頼の問題はありません。
残念なことに、当面の間、人々はあなたのパスワードを尋ね、あなたとしてログインし、情報をスクレイピングする傾向があります. これはコピーすべきものではなく、可能な限り OAuth または同等のものを使用してください。
ええ、私は同意します。電子メールのクレデンシャルでサイトを信頼することは安全ではありません。特にGmailアーカイバによって発見されたものの後(http://it.slashdot.org/article.pl?sid=08/03/11/1723206&from=rss)
しかし、プログラマティックPOVから、私は彼らがこれをどのように行ったのか疑問に思いました。たぶんGmailのホットメールや他のすべての人はユーザーが使用できるAPIを持っています....私が推測するより多くを調べる必要があります。
彼らは、POP3 や公開 API を使ってあなたのメール アカウントにログインするか、ウェブメール システムの HTML 形式を知っていて DOM を読んでいると思います。次に、あなたが電子メールを送受信した人を見つけ、独自のユーザーデータベースを調べて一致するものを見つけます。
連絡先リストのJava ライブラリは使いやすく、Gmail、Yahoo!、Hotmail、MSN とうまく連携します。