简体   繁体   English

以编程方式安排/创建商务会议的Skype

[英]Programmatically Schedule/Create Skype for Business Meeting

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. 我正在使用一个C#/控制台应用程序,该应用程序将安排Skype for Business会议的召开,但无法找到明确的答案,即可能的方式以及用于此目的的正确方法/ sdk。

The application needs to: 该应用程序需要:

  1. Create an lync / skype for business meeting at a future date with a single presenter who can bypass the lobby 在将来的某个日期创建一个lync / skype以便与一个可以绕过大厅的演示者进行商务会议
  2. Retrieve the URL for joining that meeting for use in an email invitation to the other participants (outside the organization) 检索加入该会议的URL,以用于向其他参与者(组织外部)发送电子邮件邀请

This would be running against on office 365 instance of Skype for Business. 这将针对Skype for Business的Office 365实例运行。 I have found a dizzying amount of information regarding the subject here in various SDKs that may / may not apply: 我在各种可能/可能不适用的SDK中找到了关于此主题的令人眼花information乱的信息:

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? 似乎所有迹象都表明它们与Office 365不兼容,是否有人在提供类似建议之前构建了类似的应用程序或对其进行了处理?

You can create a meeting using the Skype for Business User API (UCWA) , which is now available for Skype for Business Online (Office 365). 您可以使用Skype for Business 用户API(UCWA)创建会议,该会议现在可用于Skype for Business Online (Office 365)。

Specifically, you need to make a POST request to the "myOnlineMeetings" resource: 具体来说,您需要向“ myOnlineMeetings”资源发出POST请求:

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:Chris@contoso.com","sip:Alex@contoso.com"],
  "leaders":[]
}

In the response, you'll get a "joinURL" that you can give to participants: 在响应中,您将获得一个“ joinURL”,您可以将其提供给参与者:

HTTP/1.1 200 OK
[...]

{
  "accessLevel":"SameEnterprise",
  "entryExitAnnouncement":"Disabled",
  "attendees":["sip:Chris@contoso.com","sip:Alex@contoso.com"],
  "automaticLeaderAssignment":"Disabled",
  "description":"hey guys let's do a musical!",
  "expirationTime":"\/Date(136...000)\/",
  "leaders":[],
  "onlineMeetingId":"DED...367",
  "onlineMeetingUri":"sip:Dana@contoso.com;gruu;opaque=app:conf:focus:id:DED...367",
  "onlineMeetingRel":"myOnlineMeetings",
  "organizerUri":"sip:Dana@contoso.com",
  "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 (eg Outlook does this) but Skype for Business doesn't know about it. 您当然可以将URL放在日历约会中(例如Outlook执行此操作),但是Skype for Business对此不了解。

Full details about the "myOnlineMeetings" request are here . 有关“ myOnlineMeetings”请求的完整详细信息,请参见此处

sched.lync.com sched.lync.com

You have to rebuild the form request. 您必须重新生成表单请求。 This is the only way at this time. 这是目前唯一的方法。 We try the communication right now with java. 我们现在尝试使用Java进行通信。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM