サイトから連絡先情報を保存する

こんにちは、同僚!



むかしむかし、まだHabréの完全なアカウントを持っていないので、私は招待状をもらいたいと思って、サンドボックスに記事を書きました。 私は招待状を受け取らなかったので、記事はどこにも行かないと思いました。 今日、Google App Engineのログを調べると、サイトからリンクが見つかりました。そのリンクは、結局のところ、サンドボックスから記事を投稿しました。 そのような出版物の正しさの問題を括弧の後ろに残して、私のために私の記事を保存してくれたajc.suウェブサイトから私に知られていない善良な人々に感謝したい。 :)しかし、実際には、トピックについて。



私がアパートを借りる必要があったときに、アイデアが初めて訪れました。 私はシアンの広告を見て、最も興味深いものを呼び戻しました。 数回の電話の後、私は何らかの方法で電話を手配する必要があることに気付きました-番号だけでなく住所も保存し、同時にアパートの説明も保存します。 この時点で、インターネットの発展に伴い、連絡先情報を手作業で処理する必要があることに気付きました。せいぜい、ブロック単位でコピーして、どこかに保存する必要があります。 連絡先は、たとえばカレンダーに似たオブジェクトであるという事実にもかかわらず。 しかし、多くのサイトに既に「カレンダーにイベントを追加する」ボタンがある場合、「ノートブックに連絡先を追加する」ボタンはまだ表示されていません。 このギャップを埋めることにしたので、自分の考えやアイデアの結果を共有したいと思います。



誰がそれを必要としますか?


私が最初に考えた、問題の実現-しかし、それは私以外の誰にも関連しています。 常識的には、この問題に関連する人は私以外にも必ずいるはずであり、これらの人が誰であるかを理解するだけです。



私自身の経験から-それは、明らかに、サイトでのオファーの検索におけるアパートのテナントです。 確かに同じように広告を見る不動産業者自身が興味を持つでしょう。 別の大きなグループはヘッドハンターと人事です。 これらはすべて、定期的に新しい連絡先を持ち、繰り返し連絡(呼び出しと書き込み)する必要がある人です。



このような機会に興味を持つ人々のグループは他にもあると思います。



一般的なアプローチ


サイトからの連絡先を処理するタスクには、2つの段階があります。



  1. サイトから連絡先情報を取得する
  2. 連絡先の操作




最初の段階のタスクは、次の3つの方法で解決できます。



  1. リンクによるパーサーページ
  2. サイトのプラグインスクリプト
  3. ブラウザプラグイン




第二段階では、取得した連絡先情報は



  1. QRコードとして表示
  2. vCardファイルとして保存
  3. SMS経由でvCardとして転送
  4. Googleコンタクトに保存
  5. MS Exchangeノートブックに保存
  6. VoIP通話に使用




これは完全なリストではないと思いますが、少なくとも主な可能なアクションをリストしました。



連絡先情報を取得する


元のアイデアは、さまざまなパターンを使用して電話番号をヒューリスティックに割り当てることでした。 しかし、これは信頼性の低い方法です-電話番号のように見えても、すべての数字のシーケンスがそうであるとは限りません。 さらに、一般的に、ヒューリスティックに名前と住所を選択することはできません。

現在、私はhCardマークアップの最も有望な分析を見ています。 まず、このマークアップでは、連絡先情報が既に構造化されており、次に、 Yandexによって昇格されます。 もちろん、このアプローチにはウェブマスター側の協力が必要ですが、連絡先情報をマークアップする責任はユーザーにあります。



リンクによるパーサーページ


この方法は私にはあまり便利ではないようです。 最初に、連絡先情報を含むページが2回要求されます-最初はユーザーがそのコンテンツを表示し、2回目はサーバーがこのページから連絡先を取得します。 これにより、要求されたページが配置されているサーバーの負荷がわずかに増加し、トラフィック統計がゆがめられます。 第二に、この方法は、承認されたユーザーのみに表示されるサイトページには適用されません。 ただし、このアプローチはすでにここで実装されています 。 このサービスの作成者は、hCardマイクロフォーマットの共著者の1人であるTantekÇelikです。



サイトのプラグインスクリプト


連絡先情報を取得するこの方法では、JavaScriptサイトに投稿して(たとえば、jQueryプラグインの形式で)、hCardマークアップの存在をページでスキャンし、リンクを追加して、受信した連絡先を送信してさらに処理します。

このアプローチでは、連絡先は任意のページから選択できます-許可されたユーザーのみがアクセスできるか、動的に生成されます。 確かに、このアプローチはウェブマスター側の多くの協力を必要とします-彼はhCardマークアップを行うだけでなく、サイトにスクリプトを配置することも想定されています。



ブラウザプラグイン


このアプローチは前のアプローチと似ていますが、ページレイアウトから連絡先を抽出するスクリプトがサイトページのコンテキストではなくブラウザーコンテキストで機能するという違いがあります。 ユーザーはhCardマークアップを含むページから連絡先を受け取ることができます。 このアプローチの欠点は、プラグインシステムが異なるという事実にもかかわらず、すべての一般的なブラウザー(Chrome、FF、IE、Opera)のプラグインを作成する必要があることです。 ここほど昔ではありませんが、Habréで、フレームワークに関する記事は、すべてのブラウザーに対して一度にプラグインを作成できるようになりました。



連絡先の操作


何らかの方法で取得された連絡先は、任意の方法で処理できます。 処理の方法(以降、アクションと呼びます)私は自分で2つのグループに分けています。



  1. 保存する
  2. 電話/連絡




現時点では、保存グループのアクションを実装する方法を想像しています。 より詳細な調査のために、コールグループのアクションを後で延期しました。



QRコードを表示


このアクションでは、受信した連絡先をvCardに変換してから、QRコードにエンコードします。 エンコードする最も簡単な方法は、Google Charts APIを使用することです。 必要なのは、連絡先のVCard表現を含む行をパラメーターの1つとして指定して、Googleサービスへのリンクを形成することだけです。



VCFファイルを保存


アクションには、連絡先をvCardに変換し、適切なヘッダーを含むサーバー応答としてブラウザーに転送することも含まれます。



Googleコンタクトに保存


このアクションは、連絡先をGData XML形式(Contact型の要素)に変換するだけでなく、OAuthを介したGoogle Contactsへのアクセスの承認処理も必要とするため、以前のアクションよりもやや複雑に実装されます。 判明したように、これはそれほど難しくありませんが、この問題に関してGoogle Developersで入手できるドキュメントはあまり明確ではありません。 この問題に別の記事を捧げることを提案します。



結論にいくつかの言葉


私はすべての考えをプロトタイプサービスに変え、それをAct4Contactと呼びました。 Google App Engineで動作するようになりました(そして、無料版のサービスはブログの効果に耐える可能性が低く、クォータを超えないのではないかと心配しています)。その主なタスクは、hCardマークアップから連絡先を作成して保存することです。



このサービスを開発し、稼働状態にすることを計画していますが、この点については、誰かが興味を持ってくれて、この方向で力を合わせてくれればうれしいです。 また、ウェブマスターからのフィードバックを受け取ることに興味があります-「操作」オブジェクトとしての連絡先情報の表示は、ユーザーの連絡先ページが最後ではなく、サイトとのやり取りが仮想飛行機から移動するため、コンバージョンが増加するはずです物理的に(電話番号にダイヤル)し、相互作用を続け、よりスムーズにします。 したがって、連絡先情報をテキスト形式からオブジェクト操作形式に変換し、その正当性を確認するための共同実験の実施に興味のある方を招待します。



その他。 このタスクの作業中に、共有できるいくつかのトピックが既に表示されています。 たとえば、Google Contacts APIの使用について話します。 このサービスの作業を継続すると、それを共有するために複数のトピックが提供されると思います。



UPD :アイデアの議論に基づいて、私、 Strange_R 、および他の人で構成されるプロジェクトチームが形成されました。 まだ参加したい場合は、個人で書いてください。



All Articles