接続の確立
コネクタ内で利用可能なオブジェクトは、"cdata.twitter" モジュールからアクセスできます。モジュールのオブジェクトを直接使用するには:
- モジュールを以下のようにインポートします。
import cdata.twitter as mod
- 接続を確立するには、以下のような適切な接続文字列を使用してコネクタオブジェクトからconnect() メソッドを呼び出します。
mod.connect("InitiateOAuth=GETANDREFRESH;")
Twitter への接続(OAuth)
NOTE: どのバージョンのOAuth を使用するかは、アクセスしたいテーブルやビューによって異なります。StreamRules テーブルおよびTweetStream ビューの場合は、OAuth 2.0 App-Only を使用する必要があります。その他のテーブルおよびビューの場合は、OAuth 1.1 を使用します。OAuth 2.0 App-Only(ベアラートークン)
StreamRules テーブルまたはTweetStream ビューの接続を確立するには、OAuth 2.0 App-Only 認証を使用する必要があります。まず、Twitter のウェブサイトでベアラートークンを生成します。YourBearerToken の値は、Twitter のDeveloper Portal > ProjectOfInterest > Keys and Tokens で生成されます。詳しくは、Twitter 開発者プラットフォームドキュメント を参照してください。
トークンの生成と以下の設定が完了したら、接続の準備は完了です。
- InitiateOAuth:OFF に設定。
- OAuthAccessToken:YourBearerToken の値に設定。
その他のテーブルやビュー(StreamRules とTweetStream 以外)にアクセスする場合は、以下のOAuth 1.1 の手順に従います。
OAuth 1.1
デスクトップアプリケーション
ユーザー資格情報の接続プロパティを設定せずに接続できます。または、カスタムOAuth アプリケーションを作成することも可能です。カスタムOAuth アプリケーションについて詳しくは、カスタムOAuth アプリの作成 を参照してください。2つの違いは、カスタムアプリケーションを使用する場合は追加の接続プロパティを設定する必要があることだけです。
以下を設定して、接続してください。
- InitiateOAuth:GETANDREFRESH に設定。InitiateOAuth を使うと、OAuth 交換の繰り返しや、手動でのOAuthAccessToken 設定を避けられます。
- OAuthClientId(カスタムアプリのみ):アプリ設定のコンシューマーキーに設定。
- OAuthClientSecret(カスタムアプリのみ):アプリケーション設定のコンシューマーシークレットに設定。
- コールバックURL からアクセストークンを取得し、リクエストを認証します。
- 古いトークンの期限が切れたときは、新しいアクセストークンを取得します。
- OAuth 値をOAuthSettingsLocation に保存します。これらの値は接続間で永続化されます。
Web アプリケーション
Web アプリケーションから接続する場合、または本製品 にブラウザウィンドウを開く権限がない場合は、ストアドプロシージャを使用して、InitiateOAuth を設定して一時的なOAuth トークンを管理します。 アクセストークンの取得 次の接続プロパティを設定し、アクセストークンを取得します。
- OAuthClientId:受け取ったClientId に設定。
- OAuthClientSecret:受け取ったClientSecret に設定。
これらのプロパティを設定した状態で、以下の手順に従ってストアドプロシージャを呼び出し、OAuthAccessToken を取得します。
- GetOAuthAuthorizationURL を呼び出します。ストアドプロシージャは、リクエストトークンおよびシークレットとともにOAuth エンドポイントのURL を返します。
-
そのURL に移動し、ログインしてアプリケーションを認可します。その後、code クエリ文字列パラメータを含むコールバックURL にリダイレクトされます。
- 次のパラメータを設定し、GetOAuthAccessToken を呼び出します:
Name Value AuthMode WEB Verifier verifier code に設定。
データのリクエストを認証するには、次のように設定します。
- OAuthAccessToken:これをGetOAuthAccessToken ストアドプロシージャによって返されたOAuthAccessToken に設定します。
InitiateOAuth をREFRESH に設定すると、アクセストークンの期限が切れたときに自動でリフレッシュできます。
データに接続してOAuthAccessToken を自動的にリフレッシュするには、最初のデータ接続で次のように設定します。
- InitiateOAuth
- OAuthSettingsLocation
- OAuthClientId
- OAuthClientSecret
- OAuthAccessToken
- OAuthRefreshToken
その後のデータ接続では、以下を設定します。
- InitiateOAuth
- OAuthSettingsLocation
ヘッドレスマシン
ヘッドレスマシンのユーザーアカウントでOAuth を使用するようにドライバーを設定するには、インターネットブラウザに対応した別の端末で認証する必要があります。
- 以下のオプションから選択します。
- オプション1:後述の「Verifier code を取得および交換」に従い、OAuthVerifier 値を取得します。
- オプション2:インターネットブラウザに対応したマシンに本製品 をインストールし、後述の「OAuth 設定を転送」の説明に従い、通常のブラウザベースのフローで認証後にOAuth 認証値を転送します。
- 次に、ヘッドレスマシンからアクセストークンを自動的にリフレッシュするように本製品 を設定します。
オプション1:Verifier code を取得および交換
Verifier code を取得するには、OAuth Authorization URL で認証する必要があります。
インターネットブラウザに対応したマシンから認証してOAuthVerifier 接続プロパティを取得する方法は次のとおりです。
- 以下のオプションから選択します。
- 埋め込みOAuth アプリケーションを使用する場合は、GetOAuthAuthorizationURL ストアドプロシージャを呼び出します。ストアドプロシージャによって返されたURL をブラウザで開きます。
- カスタムOAuth アプリケーションを使用するには、以下のプロパティを設定します。
- InitiateOAuth:OFF に設定。
- OAuthClientId:アプリ設定のクライアントId に設定。
- OAuthClientSecret:アプリ設定のクライアントシークレットに設定。
- ログインして、本製品 にアクセス許可を与えます。すると、verifier code を含むコールバックURL にリダイレクトされます。verifier code の値を保存します。後ほどこれをOAuthVerifier 接続プロパティに設定します。
ヘッドレスマシンでは、次の接続プロパティを設定してOAuth 認証値を取得します。
- InitiateOAuth:REFRESH に設定。
- OAuthVerifier:控えておいたverifier code(リダイレクトURI のcode パラメータの値)に設定。
- OAuthClientId:(カスタムアプリケーションのみ)OAuth アプリ設定にあるApp key の値に設定。
- OAuthClientSecret:(カスタムアプリケーションのみ)OAuth アプリ設定のApp secret に設定。
- AuthToken:GetOAuthAuthorizationURL ストアドプロシージャによって返された認証トークンに設定。
- AuthKey:GetOAuthAuthorizationURL ストアドプロシージャによって返された認証キーに設定。
- OAuthSettingsLocation:これを設定すると、暗号化されたOAuth 認証値が指定された場所に永続化されます。
接続をテストしてOAuth 設定ファイルを生成し、以下のプロパティを再設定して接続します。
- InitiateOAuth:REFRESH に設定。
- OAuthClientId:(カスタムアプリケーションのみ)OAuth アプリ設定にあるApp key の値に設定。
- OAuthClientSecret:(カスタムアプリケーションのみ)OAuth アプリ設定のApp secret に設定。
- OAuthSettingsLocation:暗号化されたOAuth 認証値を含む場所に設定。アクセストークンの自動リフレッシュを有効にするために、この場所が本製品 に読み書きのアクセス許可を与えることを確認してください。
オプション2:OAuth 設定を転送
ヘッドレスマシンでの接続に先立ち、インターネットブラウザに対応したデバイスでドライバーとの接続をインストールし、作成する必要があります。上述の「デスクトップアプリケーション」の説明に従って、接続プロパティを設定します。
「デスクトップアプリケーション」の手順が完了すると、生成された認証値は、OAuthSettingsLocation で指定された場所に暗号化されて書き込まれます。デフォルトのファイル名はOAuthSettings.txt です。
接続をテストしてOAuth 設定ファイルを生成し、OAuth 設定ファイルをヘッドレスマシンにコピーします。
ヘッドレスマシンで、次の接続プロパティを設定し、データに接続します。
- InitiateOAuth:REFRESH に設定。
- OAuthClientId:(カスタムアプリケーションのみ)OAuth アプリ設定にあるApp key の値に設定。
- OAuthClientSecret:(カスタムアプリケーションのみ)OAuth アプリ設定のApp secret に設定。
- OAuthSettingsLocation:ブラウザでマシンからコピーしたOAuth 設定ファイルの場所に設定。アクセストークンの自動リフレッシュを有効にするために、この場所が本製品 に読み書きのアクセス許可を与えることを確認してください。