Client Libraries
Podio Java Client
Note: Citrix does not maintain these libraries. We encourage customers to fork the library code and make any required fixes to continue using these libraries.
The Java client provides coverage of a large part of the API.
Getting the client
The client is built using Maven and is available in the official Maven repository. To use the client in a Maven project simply add a dependency on com.podio.api
. If you use Eclipse, you can follow these steps:
- Create a new Maven project (make sure you have Maven integration installed)
- Double-click
pom.xml
and go to theDependencies
tab - Click the
Add
button in the Dependencies list to the left - Enter
"podio"
in the search field and select the newest version ofcom.podio.api
- Click
OK
and rebuild the project
The client can also be used by cloning the GitHub repository at https://github.com/podio/podio-java using the command git clone git@github.com:podio/podio-java.git
.
Constructing API client instance and authentication
The main entry point for the API client is the com.podio.APIFactory
class. This class supplies methods for getting API interfaces for each of the API areas. To construct a new API factory a com.podio.ResourceFactory
instance must be supplied. The resource factory takes two parameters for construction, the client credentials and the authentication credentials. The client credentials are the key and secret from the API client registration. The authentication credentials can be any of the different authentication methods described in the authentication article.
ResourceFactory resourceFactory = new ResourceFactory(
new OAuthClientCredentials(clientId, clientSecret),
new OAuthUsernameCredentials(username, password));
APIFactory apiFactory = new APIFactory(resourceFactory);
The API factory can then be used to get an interface for each of the areas of the API. The following will get the user area and then use the area to get the profile for the authenticated user and print out the name.
UserAPI userAPI = apiFactory.getAPI(UserAPI.class);
Profile profile = userAPI.getProfile();
System.out.println(profile.getName());
Samples
There are many samples available on how the Java client can be used. They are all available on GitHub: