Pages Menu
TwitterRssFacebook

Posted by on May 5, 2015 in Learn Skype Web SDK

Learn Skype Web SDK Day 4 : Getting Your Own Information

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.

<div class="form-horizontal">
<div class="form-group">
<label for="username" class="col-sm-2 control-label">Username</label>
<div class="col-sm-10">
<input type="email" class="form-control" id="username" placeholder="Email">
</div>
</div>
<div class="form-group">
<label for="password" class="col-sm-2 control-label">Password</label>
<div class="col-sm-10">
<input type="password" class="form-control" id="password" placeholder="Password">
</div>
</div>

<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<button class="btn btn-default" id="btnLogIn">Log in</button>
</div>
</div>

<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<button class="btn btn-default" id="btnLogOut">Log out</button>
</div>
</div>
</div>

<div>
<span id="loginStatus"></span>
</div>

<hr/>
<div>
Display Name: <span id="lblDisplayName"></span><br/>
Department: <span id="lblDepartment"></span><br/>
Job Title: <span id="lblTitle"></span><br/>
Email: <span id="lblEmail"></span><br/>
Location: <span id="lblLocation"></span></br>
Personal Note: <span id="lblNote"></span><br/>
</div>

<script type="text/javascript">

$(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);
});

<span style="line-height: 1.5;">$('#btnLogIn').click(function () {</span>

// 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);
});

}

});

</script>

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]

Written by Tom Morgan

Tom is a Microsoft Teams Platform developer and Microsoft MVP who has been blogging for over a decade. Find out more.
Buy the book: Building and Developing Apps & Bots for Microsoft Teams. Now available to purchase online with free updates.

Post a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.