Skip to content

Latest commit

History

89 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

spark-java-sdk

license

The Cisco Spark Java SDK

The Cisco Spark Java SDK is a Java library for consuming Cisco Spark's RESTful APIs. Please visit us at https://developer.ciscospark.com/ for more information about Cisco Spark for Developers.

Table of Contents

Install

This project is compiled with Java 1.6 and Apache Maven.

git clone git@github.com:ciscospark/spark-java-sdk
cd spark-java-sdk
mvn install

The library was developed using the Java API for JSON Processing. An implementation of JSONP must be present in the classpath. A reference implementation is available from the Glassfish project or via Maven Central:

<dependency>
<groupId>org.glassfish</groupId>
<artifactId>javax.json</artifactId>
<version>1.0.4</version>
</dependency>

Usage

Below is an example of the SDK in action

importcom.ciscospark.*;
importjava.net.URI;
classExample {
publicstaticvoidmain(String[] args) {
// To obtain a developer access token, visit https://developer.ciscospark.comStringaccessToken = "<<secret>>";
// Initialize the clientSparkspark = Spark.builder()
.baseUrl(URI.create("https://api.ciscospark.com/v1"))
.accessToken(accessToken)
.build();
// List the rooms that I'm inspark.rooms()
.iterate()
.forEachRemaining(room -> {
System.out.println(room.getTitle() + ", created " + room.getCreated() + ": " + room.getId());
});
// Create a new roomRoomroom = newRoom();
room.setTitle("Hello World");
room = spark.rooms().post(room);
// Add a coworker to the roomMembershipmembership = newMembership();
membership.setRoomId(room.getId());
membership.setPersonEmail("wile_e_coyote@acme.com");
spark.memberships().post(membership);
// List the members of the roomspark.memberships()
.queryParam("roomId", room.getId())
.iterate()
.forEachRemaining(member -> {
System.out.println(member.getPersonEmail());
});
// Post a text message to the roomMessagemessage = newMessage();
message.setRoomId(room.getId());
message.setText("Hello World!");
spark.messages().post(message);
// Share a file with the roommessage = newMessage();
message.setRoomId(room.getId());
message.setFiles(URI.create("http://example.com/hello_world.jpg"));
spark.messages().post(message);
// Get person detailsPersonperson=newPerson();
person=spark.people().path("/<<<**Insert PersonId**>>>").get();
System.out.println("ID - " + person.getId());
System.out.println("DisplayName - " + person.getDisplayName());
System.out.println("Emails - " + Arrays.toString(person.getEmails()));
System.out.println("FirstName - " + person.getFirstName());
System.out.println("LastName - " + person.getLastName());
System.out.println("Avatar - " + person.getAvatar());
System.out.println("OrgID - " + person.getOrgId());
System.out.println("Roles - " + Arrays.toString(person.getRoles()));
System.out.println("Licenses - " + Arrays.toString(person.getLicenses()));
System.out.println("Created - " + person.getCreated());
System.out.println("TimeZone - " + person.getTimeZone());
System.out.println("Status - " + person.getStatus());
System.out.println("Type - " + person.getType());
// Update avatarperson.setAvatar("https://developer.ciscospark.com/images/logo_spark_lg@256.png");
person=spark.people().path("/<<<**Insert PersonId**>>>").put(person);
// Create a new webhookWebhookwebhook=newWebhook();
webhook.setName("My Webhook");
webhook.setResource("messages");
webhook.setEvent("created");
webhook.setFilter("mentionedPeople=me");
webhook.setSecret("SOMESECRET");
webhook.setTargetUrl(URI.create("http://www.example.com/webhook"));
webhook=spark.webhooks().post(webhook);
// List webhooksspark.webhooks().iterate().forEachRemaining(hook -> {
System.out.println(hook.getId() + ": " + hook.getName() + " (" + hook.getTargetUrl() + ")" + " Secret - " + hook.getSecret());
});
// Delete a webhookwebhook=spark.webhooks().path("/<<<**Insert WebhookId**>>>").delete();
// List people in the organizationspark.people().iterate().forEachRemaining(ppl -> {
System.out.println(ppl.getId() + ": " + ppl.getDisplayName()+" : Creation: "+ppl.getCreated());
});
// Get organizationsspark.organizations().iterate().forEachRemaining(org -> {
System.out.println(org.getId() + ": " + org.getDisplayName()+" : Creation: "+org.getCreated());
});
// Get licensesspark.licenses().iterate().forEachRemaining(license -> {
System.out.println("GET Licenses " +license.getId() + ": DisplayName:- " + license.getDisplayName()+" : totalUnits: "+Integer.toString(license.getTotalUnits())+" : consumedUnits: "+Integer.toString(license.getConsumedUnits()));
});
// Get rolesspark.roles().iterate().forEachRemaining(role -> {
System.out.println("GET Roles " +role.getId() + ": Name:- " + role.getName());
});
// Create a new teamTeamteam = newTeam();
team.setName("Brand New Team");
team = spark.teams().post(team);
// Add a coworker to the teamTeamMembershipteamMembership = newTeamMembership();
teamMembership.setTeamId(team.getId());
teamMembership.setPersonEmail("wile_e_coyote@acme.com");
spark.teamMemberships().post(teamMembership);
// List the members of the teamspark.teamMemberships()
.queryParam("teamId", team.getId())
.iterate()
.forEachRemaining(member -> {
System.out.println(member.getPersonEmail());
});
}
}

License

© 2015-2017 Cisco Systems, Inc. and/or its affiliates. All Rights Reserved.

See LICENSE for details.

About

Java library for consuming RESTful APIs for Cisco Spark

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages