天天看點

java 字元串簽名_簽名無效.預期的簽名基本字元串,JAVA

我們正在使用這段代碼通過oAuth向aweber發送請求

long unixTime = System.currentTimeMillis() / 1000L;

OAuthRequest request1 = new OAuthRequest(Verb.GET,"https://api.aweber.com/1.0/accounts/1111/lists/1111/subscribers",service);

request1.addBodyParameter("ws.op","create");

request1.addBodyParameter("email","[email protected]");

request1.addBodyParameter("name","ankur");

request1.addBodyParameter("oauth_token_secret","mysecret");

request1.addBodyParameter("oauth_token","mytoken");

request1.addBodyParameter("oauth_consumer_key","mykey");

request1.addBodyParameter("oauth_signature_method","HMAC-SHA1");

request1.addBodyParameter("oauth_nonce","secret");

request1.addBodyParameter("oauth_timestamp",String.valueOf(unixTime));

service.signRequest(accessToken,request1);

Response response1 = request1.send();

// Create a reader to read Twitter's stream

BufferedReader reader1 = new BufferedReader(new InputStreamReader(response1.getStream()));

String line;

while ((line = reader1.readLine()) != null) {

System.out.println(line);

}

但我們正在回應這個問題

{

"error": {

"status": 401,"documentation_url": "https://labs.aweber.com/docs/troubleshooting#unauthorized","message": "Invalid signature. Expected signature base string: GET%26https%3A%2F%2Fapi.aweber.com%2F1.0%2Faccounts%2F1111%2Flists%2F1111%2Fsubscribers%26oauth_consumer_key%3Dmykey%26oauth_nonce%3Dnonce%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1461676770%26oauth_token%3Dmytoken%26oauth_version%3D1.0%20https%3A%2F%2Flabs.aweber.com%2Fdocs%2Ftroubleshooting%23unauthorized","type": "UnauthorizedError"

}

}

簽名無效.預期的簽名基本字元串

我檢查了我的簽名,同樣如此.不知道為什麼它顯示不同.

更新 – 1:

很多人說我的密鑰和通路令牌無效,但在我的代碼中,我試圖擊中另一個後,我會點選第一個帳戶URL.

像這樣

OAuth1AccessToken accessToken= new OAuth1AccessToken("oauth_token","oauth_token_secret","oauth_token_secret=oauth_token_secret&oauth_token=oauth_token");

final OAuthRequest request = new OAuthRequest(Verb.GET,ACCOUNT_RESOURCE_URL,service);

service.signRequest(accessToken,request);

final Response response = request.send();

System.out.println("Got it! Lets see what we found...");

System.out.println();

System.out.println(response.getBody());

System.out.println();

System.out.println("Thats it man! Go and build something awesome with AWeber and ScribeJava! :) 11111111");

這是日志

Got it! Lets see what we found...

{"total_size": 1,"start": 0,"entries": [{"http_etag": "\"8c4c161ee1fd3dfg596911c82e9f2feff145907dec2-ca5feee2b7fbb6febfca8af554fg1541ea960aaedb\"","lists_collection_link": "https://api.aweber.com/1.0/accounts/xxxx/lists","self_link": "https://api.aweber.com/1.0/accounts/xxxx","resource_type_link": "https://api.aweber.com/1.0/#account","id": xxxx,"integrations_collection_link": "https://api.aweber.com/1.0/accounts/xxxx/integrations"}],"resource_type_link" : "https://api.aweber.com/1.0/#accounts"}

在此之後我運作我的頂級代碼,那麼我的密鑰有什麼問題,那麼為什麼它的代碼的第一部分工作呢?