Learn Skype Web SDK Day 4 : Getting Your Own Information
[contemplate-1]
View Demo
We’ve already covered how to get and subscribe to presence information, but Skype for Business (Lync) contains a lot more information about the logged-in user, which we can get at and display.
You’ve already met the mePerson object when getting presence, but there’s other information there as well. In this code example, I load the Display name, Job Title and Department information and display them. These attributes are available to you once you’ve logged in.
Whilst most of the properties are basic types, like strings and can just be read normally, the Note property is a complex type. It has two properties: text and note. This is because it’s used to show both Personal Note (sometimes called the Message of the Day, the thing at the top of the Lync client that lets you tell people what you’re up to), but also Out of Office messages.
For Out of Office messages, the type property will be “OutOfOffice” and for personal notes it will be “Personal”. The text property will be the actual text of the Out of Office / Note.
[code language=”javascript”]
Department:
Job Title:
Email:
Location:
Personal Note:
$(function () {
var client; $(function () { 'use strict';
Skype.initialize({ apiKey: 'SWX-BUILD-SDK', }, function (api) { client = new api.application();
// whenever client.state changes, display its value client.signInManager.state.changed(function (state) { $('#loginStatus').text("Login State: " + state); });
}, function (err) { alert('Error loading Skype Web SDK: ' + err); });
$('#btnLogIn').click(function () {
// start signing in client.signInManager.signIn({ username: $('#username').val(), password: $('#password').val() }).then(function () { //log in worked! alert('Logged in!'); GetOwnInfo();
}, function (error) { //Something went wrong. alert(error); }); });
$('#btnLogOut').click(function () { // start signing out client.signInManager.signOut() .then(function () { //log out worked! alert('Logged out!'); }, function (error) { //Something went wrong. alert(error); }); });
function GetOwnInfo() { var me = client.personsAndGroupsManager.mePerson;
me.displayName.get().then(function (value) { $('#lblDisplayName').text(value); });
me.department.get().then(function (value) { $('#lblDepartment').text(value); });
me.title.get().then(function (value) { $('#lblTitle').text(value); });
me.email.get().then(function (value) { $('#lblEmail').text(value); });
me.location.get().then(function (value) { $('#lblLocation').text(value); });
me.note.text.get().then(function (value) { $('#lblNote').text(value); });
}
});
[/code]
Demo Online
You can try this code out against your own Skype for Business environment by going to the demo page. From here you can also download the code from GitHub if you want to host it locally, or take it and use it in your next project.
[contemplate-2]


