What it is
ebx-linkedin-sdk is a pure Java LinkedIn API client. It implements the v2 API as described here.
It is created and maintained by Echobox.
ebx-linkedin-sdk itself is open source software released under the terms of the Apache 2.0 License.
Recommended installation is via maven (or gradle etc.). For our latest stable release (recommended) use:
<dependency> <groupId>com.echobox</groupId> <artifactId>ebx-linkedin-sdk</artifactId> <version>1.0.2</version> </dependency>
Installation (Most Up To Date)
If you'd like to use the latest SNAPSHOT build please ensure you have snapshots enabled in your pom:
<repositories> <repository> <id>oss.sonatype.org-snapshot</id> <url>http://oss.sonatype.org/content/repositories/snapshots</url> <releases><enabled>false</enabled></releases> <snapshots><enabled>true</enabled></snapshots> </repository> </repositories>
and then include the snapshot dependency, replacing x.x.x with the latest snapshot version:
<dependency> <groupId>com.echobox</groupId> <artifactId>ebx-linkedin-sdk</artifactId> <version>x.x.x-SNAPSHOT</version> </dependency>
alternatively just drop the JAR into your app and you're ready to go.
Building it Yourself
and the jars will be built and can be found in the
Usage and examples
Please see the tests for examples of API calls that are supported and the expected JSON responses
To get the access token to begin to make requests (See documentation):
DefaultLinkedInClient client = new DefaultLinkedInClient(Version.DEFAULT_VERSION); LinkedInClient.AccessToken accessToken = client.obtainUserAccessToken(clientId, clientSecret, redirectURI, code);
To create a LinkedIn Share (See documentation):
ShareConnection shareConnection = new ShareConnection(new DefaultLinkedInClient(authToken)); ShareRequestBody shareRequestBody = new ShareRequestBody(URN); ShareContent shareContent = new ShareContent(); ContentEntity contentEntity = new ContentEntity(); contentEntity.setEntityLocation("https://www.example.com/content.html"); shareContent.setContentEntities(Arrays.asList(contentEntity)); shareContent.setTitle("Test Share with Content"); shareRequestBody.setContent(shareContent); shareRequestBody.setSubject("Test share subject"); ShareText shareText = new ShareText(); shareText.setText("test share"); shareRequestBody.setText(shareText); Share share = shareConnection.postShare(shareRequestBody);
Retrieve an organization from LinkedIn (See documentation):
Organization organization = connection.retrieveOrganization(organizationURN, Parameter .with("projection", "(elements*(*,roleAssignee~(localizedFirstName, localizedLastName)," + "organizationalTarget~(localizedName)))"));
Getting in touch
- GitHub Issues: If you have ideas, bugs, or problems with our library, just open a new issue.
If you would like to get involved please follow the instructions here
We use semantic versioning.
All merges into DEV will automatically get released as a maven central snapshot, which can be easily included in any downstream dependencies that always desire the latest changes (see above for 'Most Up To Date' installation).
Each merge into the MASTER branch will automatically get released to Maven central and github releases, using the current library version. As such, following every merge to master, the version number of the dev branch should be incremented and will represent 'Work In Progress' towards the next release.
To create a full release to Maven central please follow these steps:
- Ensure the
CHANGELOG.mdis up to date with all the changes in the release, if not please raise a suitable PR into
DEV. Typically the change log should be updated as we go.
- Create a PR from
MASTER. Ensure the version in the
pom.xmlis the correct version to be released. Merging this PR into
MASTERwill automatically create the maven and github releases. Please note that a release is final, it can not be undone/deleted/overwritten.
- Once the public release has been successful create a final PR into
DEVthat contains an incremented
pom.xmlversion to ensure the correct snapshot gets updated on subsequent merges into
DEV. This PR should also include:
- An update to the
README.mdlatest stable release version number.
- A 'Work In Progress' entry for the next anticipated release in
- An update to the