2011-08-09 11 views
2

これはGETで使用すると発生しません。401スクライブを使用してPOSTを行う場合oauth java

すなわち

これが機能しない:

ProxyAuthenticator pa = new ProxyAuthenticator(); 
Authenticator.setDefault(pa); 

OAuthService service = new ServiceBuilder().provider(TwitterApi.class).apiKey(strAPIKey).apiSecret(strAPISecret).build(); 
Token requestToken = service.getRequestToken(); 

Scanner in = new Scanner(System.in); 
Verifier verifier = new Verifier(in.nextLine()); 
String url = "http://api.twitter.com/1/statuses/update.json?status=helllllooooo"; 

OAuthRequest request = new OAuthRequest(Verb.POST, url); 
service.signRequest(accessToken , request2); 
final Response response = request.send(); 

応答は、上記のコードでGETを使用して応答200を返し、しかし401を返します。 すなわち

url = "http://api.twitter.com/1/account/verify_credentials.json"; 
OAuthRequest request = new OAuthRequest(Verb.GET, url); 
service.signRequest(accessToken, request); 

Response resp = request.send(); 

私は何をすべきですか?

答えて

2

これは別の言語で尋ねられますが、いくつかの原則は同じです。答えの1つにjavaでこれを解決することが記述されています。

Getting 401 on Twitter OAuth POST requests

+0

私のアプリのアクセスタイプは、Twitterのウェブサイト上で「読み取り専用」に設定したが判明。 アプリの設定ページ(例:twitter.com/apps/edit/12345)には、次のようなラジオボタンのフィールドがあります:デフォルトアクセスタイプ:読み取りと書き込み/読み取り専用「読み取り専用」にチェックを入れてステータスを確認するとAPIは401を返します。 –

関連する問題