|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object info.vividcode.util.oauth.OAuthRequestHelper
public class OAuthRequestHelper
OAuth 認証を用いた HTTP リクエストを手助けするためのクラス.
使用例は以下である.
// Twitter に Request token を求める際の例
// 送信先 URL
String url = "https://api.twitter.com/oauth/request_token";
// リクエストメソッド
String method = "POST";
// Consumer key と secret
String consumerKey = "XXXXXXXXXX";
String consumerSecret = "XXXXXXXXXX";
// 今回は request token を求める例で token secret はないので空文字列
String tokenSecret = "";
// secrets 文字列 (Consumer secret と token secret を繋いだもの)
String secrets = consumerSecret + "&" + tokenSecret;
// OAuth 関係のパラメータ
OAuthRequestHelper.ParamList paramList = new OAuthRequestHelper.ParamList(
new String[][]{
{ "oauth_consumer_key", consumerKey },
{ "oauth_nonce", OAuthRequestHelper.getNonceString() },
{ "oauth_signature_method", "HMAC-SHA1" },
{ "oauth_timestamp", Long.toString( new Date().getTime() / 1000 ) },
{ "oauth_version", "1.0" },
{ "oauth_callback", "oob" },
} );
// OAuthRequestHelper のインスタンス化
// 今回はクエリパラメータにもリクエストボディにも情報を載せないので, 後ろ 2 つの引数は null
OAuthRequestHelper helper = new OAuthRequestHelper( url, method, secrets, paramList, null, null );
// インスタンス化と同時にシグニチャ生成もされるので, あとは helper から情報を取って
// リクエストを送信するだけ
// リクエスト先への connection 生成
URL u = new URL( helper.getUrlStringIncludeQueryParams() );
HttpURLConnection conn = (HttpURLConnection)u.openConnection();
// リクエストメソッドのセット
conn.setRequestMethod( helper.getRequestMethod() );
// Authorization ヘッダのセット
conn.addRequestProperty( "Authorization", helper.getAuthorizationHeaderString("") );
// 接続
conn.connect();
// 後はレスポンスを受け取って処理する
入れ子のクラスの概要 | |
---|---|
static class |
OAuthRequestHelper.Param
リクエスト時に送信する単一のパラメータを表すクラス. |
static class |
OAuthRequestHelper.ParamComparator
パラメータ同士の比較を行うためのクラス. |
static class |
OAuthRequestHelper.ParamList
パラメータ (Param オブジェクト) のリストを表すクラス. |
コンストラクタの概要 | |
---|---|
OAuthRequestHelper(java.lang.String urlStr,
java.lang.String method,
java.lang.String secretsStr,
OAuthRequestHelper.ParamList oauthParams,
OAuthRequestHelper.ParamList urlQueryParams,
OAuthRequestHelper.ParamList reqBodyParams)
OAuth 認証を用いた HTTP リクエストに必要な情報を保持した OAuthRequestHelper オブジェクトを生成する. |
メソッドの概要 | |
---|---|
java.lang.String |
getAuthorizationHeaderString(java.lang.String realmStr)
HTTP リクエストの Authorization ヘッダとして送信すべき文字列を返す. |
static java.lang.String |
getNonceString()
OAuth 認証に用いる nonce 文字列を生成する. |
static java.lang.String |
getNonceString(int length)
OAuth 認証に用いる nonce 文字列を, 指定の長さで生成する. |
java.lang.String |
getRequestBodyString()
リクエストボディとして送信すべき値を文字列として取得する. |
java.lang.String |
getRequestBodyString(boolean includeOAuthParams)
リクエストボディとして送信すべき値を文字列として取得する. |
java.lang.String |
getRequestMethod()
リクエストメソッドを返す. |
java.lang.String |
getUrlStringIncludeQueryParams()
クエリパラメータを含んだ URL を文字列として返す. |
java.lang.String |
getUrlStringIncludeQueryParams(boolean includeOAuthParams)
クエリパラメータを含んだ URL を文字列として返す. |
クラス java.lang.Object から継承されたメソッド |
---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
コンストラクタの詳細 |
---|
public OAuthRequestHelper(java.lang.String urlStr, java.lang.String method, java.lang.String secretsStr, OAuthRequestHelper.ParamList oauthParams, OAuthRequestHelper.ParamList urlQueryParams, OAuthRequestHelper.ParamList reqBodyParams) throws java.security.GeneralSecurityException
urlStr
- リクエスト先の URL. クエリーパラメータは含めないmethod
- リクエストメソッド. "PUT" や "GET" などsecretsStr
- Consumer secret と token secret を "&" 記号で繋いだ文字列. token secret がない場合は空文字列を使うoauthParams
- OAuth 認証のためのパラメータのリストurlQueryParams
- クエリーパラメータのリストreqBodyParams
- リクエストボディに含めるパラメータのリスト
java.security.GeneralSecurityException
- OAuth 認証の署名ができなかった場合に発生するメソッドの詳細 |
---|
public static java.lang.String getNonceString()
public static java.lang.String getNonceString(int length)
length
- 生成する nonce 文字列の長さ
public java.lang.String getUrlStringIncludeQueryParams()
public java.lang.String getUrlStringIncludeQueryParams(boolean includeOAuthParams)
includeOAuthParams
- OAuth 関係のパラメータをクエリパラメータに含めるかどうか. 含める場合は true
public java.lang.String getRequestBodyString()
public java.lang.String getRequestBodyString(boolean includeOAuthParams)
includeOAuthParams
- OAuth 関係のパラメータをクエリパラメータに含めるかどうか. 含める場合は true
public java.lang.String getAuthorizationHeaderString(java.lang.String realmStr)
OAuth realm="...", oauth_timestamp="...", oauth_verifier="...", ...
realmStr
- realm として含める文字列
public java.lang.String getRequestMethod()
|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |