【ITニュース解説】Building FathomExporter: From Web Scraping to Official API Partnership
2025年10月02日に「Dev.to」が公開したITニュース「Building FathomExporter: From Web Scraping to Official API Partnership」について初心者にもわかりやすく解説しています。
ITニュース概要
Fathom会議記録を一括エクスポートするツールを開発。当初Webスクレイピングで不安定だったが、Fathomと提携し公式API利用で、処理速度と信頼性が大幅に向上した。公式提携はユーザー満足度向上と事業成長に繋がった。
ITニュース解説
FathomExporterというツールの開発は、AI議事録サービス「Fathom」の利用者が抱えていた具体的な問題の解決から始まった。Fathomは会議の議事録を自動で作成する便利なサービスだが、議事録を一括でエクスポートする機能がなかったため、ユーザーは手作業で一つずつ議事録を開き、内容をコピーするという非常に手間のかかる作業を強いられていた。例えば、500件以上の会議議事録をエクスポートしようとすると、この作業だけで4時間から8時間もの膨大な時間を要していたのである。システムエンジニアにとって、このような非効率な手作業を自動化し、ユーザーの負担を軽減することは、ツール開発の重要なモチベーションとなる。
この問題に対処するため、開発者はまずChrome拡張機能としてFathomExporterの初期バージョンを構築した。このバージョンでは「ウェブスクレイピング」という技術が用いられた。ウェブスクレイピングとは、プログラムがウェブサイトにアクセスし、あたかも人間がブラウザで閲覧しているかのようにページの情報を読み取り、必要なデータを自動的に抽出する手法である。例えば、HTMLというウェブページの構造を示すコードの中から、議事録のテキスト部分を探し出して取得するようなイメージだ。この手法により、手作業でのコピー&ペーストを自動化することには成功した。
しかし、ウェブスクレイピングにはいくつかの重大な欠点があった。まず、処理速度が非常に遅いという問題があった。プログラムは各会議のページに順番にアクセスし、内容を読み込む必要があったため、100件の会議議事録をエクスポートするのに16分、1000件になると2時間以上もかかってしまった。これは、手作業に比べれば改善されたものの、まだ十分な効率とは言えなかった。次に、ウェブサイトのユーザーインターフェース(UI)が少しでも更新されると、プログラムが正しく情報を読み取れなくなり、機能が停止してしまうという「脆さ」があった。ウェブスクレイピングはページの見た目に依存するため、サイト側の変更に弱いのだ。さらに、拡張機能が動作している間は、ユーザーがFathomのウェブページを開いたままにしておく必要があり、ブラウザのタブを閉じたり、他の作業をしたりすると処理が中断されるという制限もあった。これらの問題から、ウェブスクレイピングを用いたアプローチには限界があることが明らかになった。
そこで開発者は、Fathom社に直接コンタクトを取り、公式なパートナーシップを求めた。意外にもFathom社はこの提案を受け入れ、FathomExporterを公式パートナーとして承認した。これにより、拡張機能はFathomの「公式API」へのアクセス権を得ることができたのだ。API(Application Programming Interface)とは、ソフトウェア同士が互いに情報をやり取りするための取り決めや窓口のようなもので、FathomのAPIを利用することで、開発者はFathomのサービスにプログラムから直接、安全にアクセスし、議事録データなどを取得できるようになった。
公式APIへのアクセスは、FathomExporterの性能と信頼性を劇的に向上させた。まず、処理速度は最大で10倍に高速化された。100件の会議議事録のエクスポートは16分からわずか2分に、500件では80分から8分に、1000件では2時間以上かかっていたものが20分で完了するようになった。これは、ウェブスクレイピングのようにページを一つずつ読み込むのではなく、APIを通じて必要なデータを直接、効率的に取得できるようになったためである。次に、FathomのUIが変更されても、APIの仕様が変わらない限り、FathomExporterの機能が停止することはなくなった。APIはウェブページの見た目ではなく、データそのもののやり取りに特化しているため、安定性が非常に高いのだ。さらに、拡張機能は完全にバックグラウンドで動作するようになったため、ユーザーはFathomのタブを開き続ける必要がなくなり、他の作業に集中できるようになった。
技術的な側面では、公式APIへのアクセスには「OAuth 2.0」という認証方式が用いられた。OAuth 2.0は、ユーザーが自分の個人情報やデータへのアクセス権を、サービス提供者(Fathom)を介して、別のアプリケーション(FathomExporter)に安全に付与するための標準的な仕組みである。具体的には、Chromeのchrome.identity.launchWebAuthFlow()というAPIを使って、Fathomの認証ページにユーザーをリダイレクトし、ユーザーが許可するとFathomから「認証コード」が発行される。この認証コードをFathomExporterが受け取り、それをFathomのサーバーに送ることで、実際のデータアクセスに必要な「アクセストークン」と交換する。このアクセストークンを使うことで、FathomExporterはユーザーの代理としてFathomのAPIを通じて議事録データを取得できるようになる。また、大量のデータを取得する際には、Fathomが定めている「レートリミット」、つまり1分間に60リクエストまでというAPIの利用制限を遵守しつつ、最大限の効率でデータを取得するための工夫が盛り込まれた。これは、サーバーに過度な負荷をかけないように配慮しつつ、ユーザー体験を損なわないための重要な設計である。
この開発プロジェクトを通じて、いくつかの重要な学びが得られた。一つ目は、「臆せず企業にアプローチすることの重要性」だ。開発者は当初、小規模なChrome拡張機能がFathom社と公式パートナーシップを結べるとは考えていなかったが、実際にはそれが可能であった。ダメ元で問い合わせてみるという姿勢が、新たな道を開くことがある。二つ目は、「公式APIの優位性」である。ウェブスクレイピングは手軽に始められるが、信頼性や速度の面で公式APIには遠く及ばない。長期的な視点で見れば、公式APIへのアクセスを獲得する努力は、最終的にユーザーへの価値提供において大きな差を生む。三つ目は、「パフォーマンスがユーザーの定着に大きく影響すること」だ。議事録のエクスポートにかかる時間が2時間から20分に短縮されたことで、顧客満足度は劇的に向上し、ツールの利用継続に繋がった。そして四つ目は、「パートナーシップによる信頼性向上」である。「公式Fathomパートナー」という肩書きは、単なる「Fathomと連携するChrome拡張機能」という表現よりも、製品の信頼性を高め、購入率を大幅に向上させる効果があった。
これらの努力の結果、FathomExporterは単発購入モデルで提供され、手作業に比べて25倍も高速な処理を実現した。具体的には、1会議あたりの処理時間は30秒からわずか1.2秒にまで短縮された。また、5000件以上の会議議事録にも対応可能となり、大規模な利用者でも問題なく利用できるようになった。この成功は、他のプラットフォーム上でツールを開発している人々に対して、「公式アクセスを諦めるな。時にはただ尋ねるだけで良い」というメッセージを伝えている。システムエンジニアを目指す者にとって、このような課題解決のプロセスと、技術的な選択、そしてビジネス的な視点からの学びは、非常に価値のある経験となる。