Gmailの連絡先をBeckyアドレス帳に自動取り込み
うーん。苦戦した・・・。
色々と調べたらまずBecky単独だと情報が見つからず、
Thunderbirdのアドオン「Google Contacts」でGmailの連絡先をThunderbirdに取り込み、さらに「addressbook synchronizer」を使ってFTPでサーバにアップロード。
その後、サーバ側で変換をかけてから、Beckyのプラグイン「Becky!2 Shared Address」を使ってFTP経由で取得してくる、という超大作。
うん。この時点でなんか変だぞ?と気がつけば良かった。
「addressbook synchronizer」を使ってアップロードしたのは良いけど、ファイル形式がMorkというMozilla独自のとんでもないフォーマット。
一応CPANにFile::Morkと言うモジュールがあるんだけど、
・・・やめよう。色々と個人的な環境のせいでハマったので、
それをここに書いても誰も嬉しくない。
と言うことで、最終的には、
Gmailの連絡先を直接取得して、Beckyのアドレス帳形式に変換、
それを「Becky!2 Shared Address」で取得、と言う比較的シンプルな形になりました。あ、タイトル通り一方通行ですよ。双方向ではありません。
mattn氏が公開して下さっていたGmailの連絡先取得のスクリプトをベース、と言うかほぼそのままを使わせて頂きました!感謝感謝!
なお、mattn氏のスクリプトに以下の変更を加えました。
- そのままだと20件くらいしか取得できなかったため、Googleへのリクエスト時に500件まで取得できるように指定
- 一人に対して複数アドレスを登録しているケースに対応
- utf8絡みのエラーで引っかかったため対処
- Becky用のアドレス帳&インデックス(Group.idx)を出力するように修正
ってなところでしょうか。
もう気力無いので修正箇所超汚いままですし、説明だいぶ端折ってますが、このまま何も情報公開しない方がよくないと思うのであげちゃいます。
もしわからないことあればいつでも答えるのでコメントください。
Becky形式の変換なんて超強引ですし(笑)
あと、mattn氏の記事も含めて色々と参考にしたところを挙げておきます。
http://mattn.kaoriya.net/web/google/20080307152534.htm
http://d.hatena.ne.jp/BigFatCat/20080120/1200825243
http://d.hatena.ne.jp/tsurunaga/20120412/1334198786
http://d.hatena.ne.jp/libkazz/20070605/1181026439
本当に感謝!ネットって素晴らしいですね-。
あ、あと「Becky2! Shared Address」をFreeで公開してくださっている「株式会社クオータシステム」様にも感謝感謝!
http://www.quotasystem.net/B2Shared.html
ついでに、はじめはMork形式にチャレンジしてたので、その辺詳しい記事も。
https://addons.mozilla.org/ja/thunderbird/addon/google-contacts/
https://addons.mozilla.org/ja/thunderbird/addon/addressbooks-synchronizer/?src=search