this was the email sent to me by Andre from btcjam:
"
Hello Paul.
First of all, thank you for you interest in BTCJam api.
From the history of your emails, I am not sure of what kind of api usage you want. But to clarify, you can use BTCJam api in two different ways.
The first one is to poll data simply using your app id and app secret provided to you by BTCJam and calling the endpoints (currently there’s only one, the listings) via an http request. You can even type it in your browser’s address bar
https://btcjam.com/api/v1/listings?appid=[APP ID]&secret=[APP Secret]
to test the endpoint calls. This will get you a json with open listings and some info about the borrower. I see you have already tried this method and it apparently works fine for you.
The other api access type utilizes OAuth2 delegation method. With this method you redirect your user to our login page(sending your app_id and app_secret), and after the user has logged in to BTCJam and authorized your app to access its data, the user will be redirected to your web site (via the callback url you configured).
After the user has authorized your web app to access his data, you need an access token to this user, which will be used on the subsequent api calls your web app will be performing on behalf of the BTCJam user. You can then call the Token BTCJam url to request the access and refresh token for this user. You should store those tokens and use the access token for every api call. When this token expires you must request a new access token using the access+refresh token.
With this method of authentication you can use the api request to get the User’s data such as profile, open listing, receivable, payables and also make an investment on behalf of the user.
One thing I noticed in your code is that you are trying to use OAuth – that is, the version of OAuth which is not compatible with Oauth2 and it’s actually more complicated than the version 2.
So my recommendation would be to look for a Java OAuth2 library that can handle the low level part for you, so you only need to specify the parameters you actually need. Also,you probably can find java OAuth2 implementations that communicate with other services (such as Facebook or Twitter), and you might only need to change the app_id/secret and the service URLs, since the OAuth2 protocol works the same for all service providers.
On a side note, we are currently expanding our api, so even if the current api does not expose the information or method you wished to use, we encourage you to tinker and play with the API as it is, since you would only have to extend your code to use the new methods after you have your client up and running.
We are also planning on having a working Java example of OAuth2 application on the website, but we have not yet found the time to do so.
If you need more information or face dead-ends we will be happy to further advise you.
Regards, Demiam"