I am having trouble calling Agent API with oauth signature. I created and app and got my consumer_key and consumer_secret. Then I installed the app and got my token key and password. I used the sample code posted at http://community.liveperson.com/docs/DOC-1033 . See below. I am getting invlid signature error...
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><error><time>2011-12-27T16:01:41.296-05:00</time><message>oauth_problem=signature_invalid&oauth_problem_advice=the oauth_signature is invalid</message><internalCode>10</internalCode></error>
import com.sun.jersey.oauth.signature.OAuthParameters; import com.sun.jersey.oauth.signature.OAuthSecrets; import com.sun.jersey.oauth.client.OAuthClientFilter; import com.sun.jersey.api.client.*; import javax.ws.rs.core.MultivaluedMap; import java.io.InputStream; import java.io.IOException; public class OAuthExample { public static void main(String[]args) { OAuthParameters params = new OAuthParameters(); //baseline OAuth parameters for access to resource params.signatureMethod("HMAC-SHA1"); params.consumerKey("6b6edff4c5df4541a8b3d937a628c2cc"); params.setToken("ab3afd8d31234d7c9679d103aeb3cd96"); params.setVersion("1.0"); params.nonce(); // OAuth secrets to access resource OAuthSecrets secrets = new OAuthSecrets(); secrets.consumerSecret("1ebe31490066c309"); secrets.setTokenSecret("54ff5a05d41a1afb"); // Jersey client to make REST calls to token services Client client = Client.create(); //OAuth test server resource WebResource resource = client.resource("https://api.liveperson.net/api/account/P10278013?v=1"); // if parameters and secrets remain static, filter cab be added to each web resource OAuthClientFilter filter = new OAuthClientFilter(client.getProviders(), params, secrets); //filter added at the web resource level resource.addFilter(filter); WebResource.Builder wbr = resource.getRequestBuilder(); try{ ClientResponse response; response = wbr.get(ClientResponse.class); System.out.println("Status: " + response.getStatus()); System.out.println("Headers: "); MultivaluedMap<String,String> headers = response.getHeaders(); for(String header : headers.keySet()) { System.out.println(header + ": " + headers.get(header)); } //show response's content int size = response.getLength(); byte buff[] = new byte[size]; InputStream is = response.getEntityInputStream(); is.read(buff); String resContent = new String(buff); System.out.println("Content: " + resContent); } catch(UniformInterfaceException e){ e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }