Xeroアプリの種類の統合を簡素化
By manhnv, at: 2024年5月22日18:05
Estimated Reading Time: __READING_TIME__ minutes


様々なサービスのドキュメントを読むことは、時に圧倒的で長々しく、誤解や脱落につながる可能性があります。そこで当ブログが登場します。開発者が広範なドキュメントを精読する必要なく、包括的で効率的な概要を提供し、より明確な理解を促進します。様々な種類のXeroアプリとその用途を鳥瞰図的に提示し、時間と労力を節約することを目指しています。
はじめに
Xeroとの統合において、適切なアプリの種類を選択することは非常に重要です。Xeroは主に3種類のアプリケーションを提供しています。それぞれが特定の統合ニーズに合わせて設計されています:Code Flow、PKCE Flow、およびCustom Connection。これらの種類を理解することで、要件に最適なものを選択できます。それぞれの種類、ユースケース、長所と短所を詳しく見ていきましょう。
1. Code Flow
- 最適な用途:
クライアントシークレットを安全に保存できるWebサーバーアプリケーション。
- 接続制限:
25接続(認定後は無制限)。
- マーケットプレイスへの掲載資格:
あり。
- オフラインアクセス:
あり。
- 費用:
無料。
- 地域的な可用性:
グローバル。
ユースケース:このタイプは、クライアントシークレットを安全に保存できるサーバーサイドアプリケーションを構築する開発者にとって理想的です。たとえば、Xeroデータとやり取りするWebベースの会計ダッシュボードは、Code Flowを使用することでメリットを得られます。
長所:
- 複数の接続を管理できます。
- Xeroマーケットプレイスへの掲載資格があります。
- OAuthリダイレクトの処理にサーバーが必要なため、安全です。
短所:
- OAuthのリダイレクトURLを提供するWebサーバーが必要です。そのため、単純なPythonスクリプトを使用した統合が複雑になります。
- 他の方法と比較して設定がより複雑です。
2. PKCE Flow
- 最適な用途:
クライアントシークレットを安全に保存できないモバイルおよびデスクトップアプリケーション(シングルページアプリケーション - SPAは現在サポートされていません)。
- 接続制限:
25接続(認定後は無制限)。
- マーケットプレイスへの掲載資格:
あり。
- オフラインアクセス:
あり。
- 費用:
無料。
- 地域的な可用性:
グローバル。
ユースケース:PKCE Flowは、クライアントシークレットを安全に保存できないモバイルおよびデスクトップアプリケーションに適しています。例としては、ユーザーが外出先で請求書を管理できるモバイルアプリがあり、保存されたクライアントシークレットを必要とせずにセキュリティを確保できます。
長所:
- クライアントシークレットを保存する必要がないため、モバイルおよびデスクトップアプリのセキュリティが向上します。
- 複数の接続を管理できます。
- オフラインアクセスをサポートしています。
短所:
- 現在、シングルページアプリケーション(SPA)ではサポートされていません。
- Custom Connectionと比較して、初期設定がより複雑です。
3. Custom Connection
- 最適な用途:
バックエンド、マシンツーマシン統合。
- 接続制限:
1接続。
- マーケットプレイスへの掲載資格:
なし。
- オフラインアクセス:
あり。
- 費用:
Xero組織ごとに月額料金($10/月 AUD inc GST、$10/月 NZD ex GST、£5/月 GBP ex VAT)。
- 地域的な可用性:
英国、オーストラリア、およびニュージーランドのXero組織のみ。
ユースケース:Custom Connectionは、ユーザーとの直接的なやり取りが不要なバックエンド統合向けに設計されています。例としては、Xeroと他の内部システム(ERPやCRMシステムなど)間の自動データ同期があります。
長所:
- サーバーやOAuthのリダイレクトURLを必要とせずに、単純なPythonスクリプトを使用して統合できます。
- APIを直接呼び出してアクセストークンを取得し、それ以降のAPI呼び出しに使用できます。
- バックエンドとマシンツーマシン統合に最適です。
短所:
- 1接続のみに制限されています。
- OAuth 2.0リダイレクトのセキュリティ上の利点が欠けています。
- 月額料金が発生します。
適切なアプリの種類の選択
どのアプリの種類を使用するかを決定する際には、次の点を考慮してください。
- セキュリティ:アプリでクライアントシークレットを安全に保存できる場合、Code Flowが最適なオプションかもしれません。そうでない場合は、PKCE Flowがより適切です。
- ユーザーインタラクション:ユーザーインタラクションを必要とするアプリケーション(例:モバイルアプリまたはデスクトップアプリ)の場合、PKCE Flowが適しています。マシンツーマシンインタラクションの場合は、Custom Connectionが理想的です。
- 費用と可用性:Custom Connectionには月額料金がかかり、特定の地域に限定されていますが、Code FlowとPKCE Flowは無料であり、グローバルで利用できます。
開始方法
- アプリの登録:Xero開発者ポータルにアクセスして、アプリを登録してください。
- アプリの種類の選択:統合ニーズに基づいて、適切なアプリの種類を選択してください。
- 承認フローに従う:選択したアプリの種類に従って、OAuth 2.0フローを実装してください。
- 開発とテスト:Xero APIドキュメントを使用して、アプリを開発し、運用開始前に徹底的にテストしてください。
結論
様々な種類のXeroアプリとそのそれぞれのユースケースを理解することで、ビジネス要件を満たすための最適な統合アプローチを選択できます。このブログでは包括的な概要を示していますが、開発者には、最も詳細で最新の情報を取得するために、公式のXeroドキュメントを参照することを強くお勧めします。