カスタムOAuth アプリの作成
カスタムOAuth アプリを作成するタイミング
CData はOAuth アプリケーション認証情報を製品に組み込んでおり、デスクトップアプリケーションまたはヘッドレスアプリケーションから接続する際に使用できます。Web アプリケーションはカスタムOAuth アプリケーションを必要とします。 以下の場合はユーザー自身のOAuth アプリケーションクレデンシャルを選択できます。- 認証ダイアログのブランディングをコントロールしたいとき
- ユーザー認証後にアプリケーションがユーザーをリダイレクトするためのリダイレクトURI をコントロールしたいとき
- ユーザーからのリクエストに対する許可をカスタマイズしたいとき
Instagram データにアクセスを許可する
ユーザーが本製品 を経由して接続できるようにするには、以下の作業を行います。
- Facebook ページをInstagram アカウントに接続します。
- 本製品 をInstagram にアプリとして作成し登録します。
- Facebook の審査にアプリを提出します。
Facebook ページをInstagram アカウントに接続
Instagram のデータにアクセスするには、ユーザーはInstagram アカウントに紐づいたページのロールが必要です。ページでロールを持つユーザーなら誰でもアクセスできます。
ページとInstagram アカウントを連携するには、Facebook にログインし、ページの設定からInstagram をクリックしてInstagram アカウントにログインします。 アカウントがInstagram ビジネスアカウントでない場合、プロンプトに従ってビジネスプロフィールを設定します。
アプリの作成と登録
アプリを登録してOAuthClientId とOAuthClientSecret プロパティを取得します。OAuth クライアントクレデンシャルで本製品 をFacebook に認証します。
- Facebook にログインし、https://developers.facebook.com/apps に進みます。
- 新しいアプリケーションを作成し、設定 -> ベーシックをクリックします。OAuthClientId は表示されたApp ID です。OAuthClientSecret はApp Secret です。
- Add Platform をクリックしてWeb サイトを選択します。サイトURL を入力します。この値は認証では使用されません。
以下の手順に従って、OAuth リダイレクトURI を設定します。
- アプリ設定に進み、"Products" セクションからFacebook ログインプロダクトを追加します。
- プロダクト設定で、OAuth リダイレクトURI を定義します。
デスクトップアプリケーションを構築している場合は、リダイレクトURL をhttps://localhost:33333/ または同様のhttps URL に設定します。
Web アプリケーションを構築している場合は、Callback URL として使用するリダイレクトURI(ユーザーがアプリへのアクセスを許可されたことを証明するトークンを持ってリダイレクトされる)を設定します。
Instagram API プロダクトの追加
以下の手順に従って、アプリがリクエストするInstagram API 権限を設定します。
- アプリ設定に進み、"Products" セクションからInstagram プロダクトを追加します。
- プロダクト設定で、アクセス許可を設定します。すべてのテーブルとビューにアクセスするには、次のスコープを含めます。
- instagram_basic
- instagram_manage_comments
- instagram_manage_insights
特定のテーブルに必要なスコープについての詳細は、データモデル セクションを参照してください。
アプリを審査に提出して本稼働
審査なしでアプリケーションを使用することもできますが、本稼働してInstagram のコンテンツに完全にアクセスするには、アプリケーションを提出して審査と承認を受ける必要があります。
- アプリケーションのManage をクリックし、Permissions タブでStart a Submission をクリックします。
- Instagram との連携に最適なユースケースを選択してください。
- フォームに必要事項を記入し、アプリケーションが承認されるのを待ちます。
Instagram への認証
デスクトップアプリケーション
次の接続プロパティを設定して、接続してください。
- OAuthClientId:OAuth アプリ用のApp ID に設定。
- OAuthClientSecret:OAuth アプリ用のApp Secret に設定。
- InitiateOAuth:GETANDREFRESH に設定。InitiateOAuth を使うと、OAuth 交換の繰り返しや、手動でのOAuthAccessToken 設定を避けられます。
- BusinessAccountId:Instagram アカウントに複数のFacebook ページを連携している場合は、BusinessAccountId 接続プロパティを設定して、Facebook ページに紐づいているビジネスアカウントのId を指定します。
ビジネスアカウントId は、Page ビューのクエリで取得できます。
- コールバックURL からアクセストークンを取得し、リクエストを認証します。
- 古いトークンの期限が切れたときは、新しいアクセストークンを取得します。
- OAuth 値をOAuthSettingsLocation に保存します。これらの値は接続間で永続化されます。
Web アプリケーション
以下の手順に従って、本製品 を使用してOAuth トークンの値を取得し、Web アプリケーションから接続します。 アクセストークンの取得
次の接続プロパティを設定し、OAuthAccessToken を取得します。
- OAuthClientId:アプリ設定のApp ID に設定。
- OAuthClientSecret:アプリ設定のApp Secret に設定。
続いて以下の手順に従って、OAuth 交換を完了します。
- GetOAuthAuthorizationURL ストアドプロシージャを呼び出します。AuthMode インプットをWEB に、CallbackURL インプットをアプリ設定で指定したOAuth リダイレクトURI に設定します。ストアドプロシージャがOAuth エンドポイントのURL を返します。
- ログインして、アプリケーションを認可します。コールバックURL にリダイレクトされます。
コールバックURL は、クエリ文字列パラメータ内にverifier code を保有します。verifier code をコールバックURL から取得します。
- 次のパラメータを設定し、GetOAuthAccessToken を呼び出します:
Name Value AuthMode WEB Verifier verifier code に設定。 CallbackURL アプリケーション設定のコールバックURL に設定。
複数ページへの接続
Instagram アカウントに複数のFacebook ページを連携している場合は、OAuthAccessToken に加えてBusinessAccountId を設定します。BusinessAccountId 接続プロパティは、Facebook ページに紐づいているビジネスアカウントのId を指定します。
ビジネスアカウントId は、Page ビューのクエリで取得できます。