2016-05-26 6 views
3

私のウェブアプリケーションをAppDirect, と統合しています。これはjerseyを使用してJava rs APIを作成しました。看板でHTTPメッセージに署名するときに401を取得する

私はイベントを購読すると、私のリクエストに署名するためのoauth値(キーとシークレット)と、私がサインフェッチを発行するイベントURLを含むマップを取得します。

期待どおりの値(oauthとeventurl)が表示されています。私は、このエラーメッセージを取得

OAuthConsumer consumer = new DefaultOAuthConsumer(consumer_key, secret); 
// create an HTTP request to a protected resource 
URL url = new URL(eventUrl); 
HttpURLConnection request = (HttpURLConnection) url.openConnection(); 

// sign the request 
consumer.sign(request); 

// send the request 
request.connect(); 

::私は署名を発行しようとすると、

は、今私は、次のコードを使用して、ライブラリsignpostを使用してフェッチ

getResponseMessage: Unauthorized 
getresponsecode: 401 

を私はまた、次のように試してみましたテスト値:

  1. url = "https://www.appdirect.com/api/integration/v1/events/dummyOrder";
  2. dummyKey = "Dummy";
  3. dummySecret = "secret"; しかし私は同じ結果を得ました。

どうすれば修正できますか?

私も試したし、この追加:経由でのテスト時にも認可のプロパティでkey:secretここ

答えて

2

Dummy keys (oauth)

No-auth

で試してみました

request.setRequestMethod("GET");   

request.setRequestProperty("Authorization", "OAuth"); 

request.setRequestProperty("Host", "..."); 

request.setRequestProperty("Content-Type", "application/xml");   

request.setRequestProperty("oauth_nonce", oauth_nonce); 

request.setRequestProperty("oauth_signature", oauth_signature); 

request.setRequestProperty("oauth_signature_method", oauth_signature_method); 

request.setRequestProperty("oauth_timestamp", oauth_timestamp); 

request.setRequestProperty("oauth_version", oauth_version); 

すると、このサービスの動作ですPostman Chrome拡張機能。 OAuthプロバイダを使用している場合は、AppDirectと秘密の有効なapi-keyを取得する必要があります。

BTWの2番目のスクリーンショットでは、任意のURLを承認するため、にアドレスするためにOAuthトークンを送信する必要はありません。

あなたのメモによれば、適切な(秘密とキー)を追加する必要があります。その後、AppDirectのOAuthサーバーはAppDirectのリポジトリのアドレス指定に使用する有効なトークンを返します。または、各リクエストにキー秘密を送ることができます。

+0

はい、すでにOAuthConsumerコンシューマ= new DefaultOAuthConsumer(consumer_key、secret)を使用しています。私はいくつかのコードを追加します – eeadev

+0

チェック、私はビットをunswed更新しました。 – cingulata

+0

私は有効なコンシューマーキーと秘密を持っていますし、私はそれを私のDefaultOAuthConsumerオブジェクトに渡しています。それ以外はどこで使うのですか? – eeadev

関連する問題