I am working on a C#/console application that will schedule Skype for Business meetings and have not been able to find a clear answer on what is possible and what is the correct approach / sdk to use for doing so.
The application needs to:
This would be running against on office 365 instance of Skype for Business. I have found a dizzying amount of information regarding the subject here in various SDKs that may / may not apply:
All seem to indicate they are not compatible with office 365 though, has anyone built a similar application or dealt with this before that could provide some advice?
You can create a meeting using the Skype for Business User API (UCWA), which is now available for Skype for Business Online (Office 365).
Specifically, you need to make a POST request to the "myOnlineMeetings" resource:
POST https://lyncweb.contoso.com/ucwa/oauth/v1/applications/103...740/onlineMeetings/myOnlineMeetings HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer cwt=AAEB...buHc
[...]
{
"attendanceAnnouncementsStatus":"Disabled",
"description":"hey guys let's do a musical!",
"subject":"holiday party",
"attendees":["sip:[email protected]","sip:[email protected]"],
"leaders":[]
}
In the response, you'll get a "joinURL" that you can give to participants:
HTTP/1.1 200 OK
[...]
{
"accessLevel":"SameEnterprise",
"entryExitAnnouncement":"Disabled",
"attendees":["sip:[email protected]","sip:[email protected]"],
"automaticLeaderAssignment":"Disabled",
"description":"hey guys let's do a musical!",
"expirationTime":"\/Date(136...000)\/",
"leaders":[],
"onlineMeetingId":"DED...367",
"onlineMeetingUri":"sip:[email protected];gruu;opaque=app:conf:focus:id:DED...367",
"onlineMeetingRel":"myOnlineMeetings",
"organizerUri":"sip:[email protected]",
"phoneUserAdmission":"Disabled",
"lobbyBypassForPhoneUsers":"Disabled",
"subject":"holiday party",
"joinUrl":"https://meet.contoso.com/dana/DED...367","56de...4c83":"please pass this in a PUT request",
"_links":{
"self":{"href":"/ucwa/oauth/v1/applications/103...740/onlineMeetings/myOnlineMeetings/DEDX9367"},
"onlineMeetingExtensions":{"href":"/ucwa/oauth/v1/applications/103...740/onlineMeetings/myOnlineMeetings/DED...367/extensions"}
},
"rel":"myOnlineMeeting",
"etag":"891...351"
}
Note that the meeting doesn't have a scheduled time associated with it. It can be used at any time. You can of course place the URL in a calendar appointment (e.g. Outlook does this) but Skype for Business doesn't know about it.
Full details about the "myOnlineMeetings" request are here.