问题描述
我正在尝试使用 Oauth01 连接到 Netsuite Restlest。 当我使用 POSTMAN 时,它工作正常,即使我从邮递员那里复制授权标头 到java它也工作。 当我从 java 生成 Authorization 标头时,响应是:
{ “错误”: { "code": "INVALID_LOGIN_ATTEMPT","message": "无效的登录尝试。" } }
我已经试过了:https://stackoverflow.com/a/60059112/3156875 答案..
这是我的代码:
OAuthHmacSigner signer = new OAuthHmacSigner();
signer.clientSharedSecret = consumer_secret;
signer.tokenSharedSecret = access_secret;
GenericUrl genericUrl = new GenericUrl(url);
OAuthParameters oauthParameters = new OAuthParameters();
oauthParameters.consumerKey = consumer_key;
oauthParameters.token = access_token;
oauthParameters.signer = signer;
oauthParameters.version = "1.0";
oauthParameters.computeNonce();
oauthParameters.computeTimestamp();
oauthParameters.realm = "4527192_SB2";
oauthParameters.computeSignature("GET",genericUrl);
String authHeader = oauthParameters.getAuthorizationHeader();
System.out.println("Auth header:"+authHeader);
URL obj = new URL(url);
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
con.setRequestProperty("Authorization",authHeader);
con.setRequestProperty("Content-Type","application/json");
int responseCode = con.getResponseCode();
System.out.println("GET Response Code :: " + responseCode);
if (responseCode == HttpURLConnection.HTTP_OK) { // success
BufferedReader in = new BufferedReader(new InputStreamReader(
con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
// print result
System.out.println(response.toString());
} else {
System.out.println("GET request not worked");
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)