カスタムOAuth アプリの作成
Alpha API への接続
FreshBooks Alpha API への認証にはOAuth 2.0 認証標準を使用します。
OAuth では認証するユーザーにブラウザでFreshBooks との通信を要求します。次のセクションで説明するとおり、本製品 はさまざまな方法でこれをサポートします。
アプリケーションを登録
OAuth クライアントクレデンシャルを取得するには:
- FreshBooks デベロッパーサイト https://my.freshbooks.com/#/developer にログインして、Create an App をクリックします。
- ユーザーがアプリへの許可を求められる際に表示される情報を入力します。
- リダイレクトURL を指定します。
リダイレクトURI をhttps://localhost:33333/ または他の同様のhttps URL に設定します。
Web アプリケーションを作成する場合は、コールバックURL を ユーザーがアプリケーションを認可した後に表示したいWeb アプリケーションのページに設定してください。
デスクトップアプリケーションからFreshBooks へ認証
次の接続プロパティを設定して、接続してください。
- OAuthClientId: 接続する会社の名前に設定します。
- OAuthClientSecret: アプリケーション設定のコンシューマーシークレットに設定。
- InitiateOAuth: GETANDREFRESH に設定。InitiateOAuth を使って、OAuth 交換や、手動での接続文字列のアクセストークン設定の繰り返しを避けられます。
- AccountId: データに接続するにはこれを設定します。この値を取得するには、IdentityInfo ビューをクエリします。
接続すると、本製品 はデフォルトブラウザでOAuth エンドポイントを開きます。ログインして、アプリケーションにアクセス許可を与えます。本製品 が以下のOAuth プロセスを完了します。
- OAuthAccessToken およびOAuthAccessTokenSecret を取得して、リクエストを認証します。
- アクセストークンの期限が切れたときにはリフレッシュしてください。
- OAuth 値を保存し、接続の間に維持されるようにします。
Web アプリケーションからFreshBooks へ認証
次の接続プロパティを設定し、アクセストークンを取得します。
- OAuthClientId: 接続する会社の名前に設定します。
- OAuthClientSecret: アプリケーション設定のコンシューマーシークレットに設定。
Web アプリケーションから接続する場合、または本製品 にブラウザウィンドウを開く権限がない場合は、temporary verification value とアクセストークンを交換する必要があります。
- GetOAuthAuthorizationURL を呼び出します。ストアドプロシージャがFreshBooks のOAuth エンドポイントのURL を返します。
- OAuth エンドポイントにログインして、アプリケーションを認可します。コールバックURL にリダイレクトされます。
コールバックURL は、クエリ文字列パラメータ内にverifier code を保有します。パラメータの名前は"oauth_verifier" です。verifier code をコールバックURL から取得します。
- GetOAuthAccessToken を呼び出します。ストアドプロシージャがアクセストークン を返します。
次の接続プロパティを設定し、データに接続します。
- AccountId
- OAuthClientSecret
- OAuthAccessToken
- OAuthAccessTokenSecret
Note: AccountId を取得するには、IdentityInfo ビューをクエリします。
トークンのリフレッシュ
アクセストークンの期限が切れたときに自動でリフレッシュするには、InitiateOAuth をREFRESH に設定しOAuthRefreshToken を設定してください。あるいは、アクセストークンの期限が切れたときにRefreshOAuthAccessToken ストアドプロシージャを呼び出してアクセトークンをリフレッシュします。