我们正试图确定最新的UCWA或UCMA是否支持Skype for Business Online?经过漫长的搜索,我看到有人在2015年3月/ 4月发布了,并表示UCMA/UCWA还不支持它。但是,我无法找到任何有关这方面的信息。最新版本支持它吗?我在哪里可以找到关于此的任何信息?UCWA或UCMA API是否支持Skype for Business Online?
谢谢
我们正试图确定最新的UCWA或UCMA是否支持Skype for Business Online?经过漫长的搜索,我看到有人在2015年3月/ 4月发布了,并表示UCMA/UCWA还不支持它。但是,我无法找到任何有关这方面的信息。最新版本支持它吗?我在哪里可以找到关于此的任何信息?UCWA或UCMA API是否支持Skype for Business Online?
谢谢
UCWA现在可用于Skype for Business Online。 steps to get your UCWA application registered and authenticated与使用UCWA for Skype for Business Server完全不同,但一旦登录,实际的API几乎完全相同。目前,UCWA的Skype for Business Online版本比Skype for Business Server版本有slightly fewer capabilities - 例如,邮件可以发送但未收到 - 尽管这种情况很快就会改变。
由于this question and answer中解释的原因,UCMA不适用于Skype for Business Online。
Skype for Business Online使用Azure AD进行身份验证,您可以通过ADAL.net库使用用户名和密码进行身份验证。
我已经创建了一个使用UCWA和用户名和密码的认证标志进入的Skype for Business线上一个sample .NET console app。它适用于许多简单的场景。
开始下面步骤之前,用户必须注册在天青AD的应用程序,并给所有的访问必要的API和收集
从邮递员分机:可以按照以下步骤在Skype for Business(SFB)上在线使用UCWA进行会议:
第1步>获取用户的令牌
1) request in Only IE browser
https://login.microsoftonline.com/88****-da69-4e7d-a5dc-b3a*****1d/oauth2/authorize?
response_type=code
&client_id=6e****44-2**3-4**2-8**c-e*******e72
&client_secret=bdjmKq**************************nQMtbzA=
&resource=https://webdirin1.online.lync.com (This url should be used for user)
2) Post request token with code
https://login.windows.net/88****-da69-4e7d-a5dc-b3a*****1d/oauth2/token
grant_type=authorization_code
&client_id=6e****44-2**3-4**2-8**c-e*******e72
&code=AQABAAIAAABnfiG-mA6NTae7CdWW7Qfda84eiCww0aSunFfvkaLq3OJZBDzX6*****97HQl****dsK53_7iM8Bq_qXWuH6M8TqPu5Py51eSB2QuhQyYcZv_28I36FC7ODudIp9_8zsxUmOKJbZXvDiEk0YjDkfacW2homgolt4mZ-E05_D4j77Gp3b1K0f7yuZbHPFjkvloIvOhPWYT953uIrJvj6Tm8zmTPpcAJeusuilXJAJS3Pl19o7zBwFBJ4EtkK06HsA_uGAZnrD2-0vxWadcUWv-fzijVCtEE9yZGGj6a0SQwu6XKdhunS7waAsKFAjDhJ6fP431pkWoD5mDRtXvz6riYMTLYRNjTS6UWyX2oBNO0DhoNXHG95YAoGDgftBvaUpI9*****ZIFPDUTPcYSRiYcMKF21ILCy1I_scXGmL1QtE1MSQjsu6c1lGZhVqzMEWHX57wcRiEHCTAlao-3fJm-KvYQn1DqiX3tJDkx0cmAEwr6iCeM37QEBKD-PZ0CAUrIY9uwXenaxkunoD_XG5YDuE2in4BcJiDwEccaFh0BdmQXEqln-pd9QgAA&session_state=0b92ca54-cd08-4a28-9f20-216245e289f0
&redirectUri=http://localhost/TServ
&resource=https://webdirin1.online.lync.com
&client_secret=bdjmKq**************************nQMtbzA=
步骤2>获得的应用URL:
Request:
URL:https://webdirin1.online.lync.com/Autodiscover/AutodiscoverService.svc/root/oauth/user
Authorization: Bearer <Previous access code>
Response:
{
"_links": {
"self": {
"href": "https://webpoolmaain***.infra.lync.com/Autodiscover/AutodiscoverService.svc/root/oauth/user"
},
"applications": {
"href": "https://webpoolmaain***.infra.lync.com/ucwa/oauth/v1/applications",
"revision": "2"
},
"xframe": {
"href": "https://webpoolmaain***.infra.lync.com/Autodiscover/XFrame/XFrame.html"
}
}
}
步骤3>获取应用
令牌1) request in Only IE browser
https://login.microsoftonline.com/88****-da69-4e7d-a5dc-b3a*****1d/oauth2/authorize?
response_type=code
&client_id=6e****44-2**3-4**2-8**c-e*******e72
&client_secret=bdjmKq**************************nQMtbzA=
&resource=https://webpoolmaain***.infra.lync.com (this resource url is the application url got it from Step 2)
response http://localhost/TServ/?code=AQABAAIAAABnfiG-mA6NTae7CdWW7QfdAe8KrUbxREZpqyau_gGtw4QSTzq5MHmALQQa_n_AvVeK0iMRaESOZMkuGJ1a3bvWEYpMTHOyGfT2r9T8WbeSW7vJR-6Upnv6qI-nrT3kM8jXRni2V9S_y6xibRwDAE160XYeu9aJkbAE9Wq4HquYSUkC1bcNZSqmpubv2MiixMcjwL00YP8c53bRu44yWXr1FWr5Rgnc8VbnoZyxJF7CgfbTOrfDusXeLHj7OGGevyh8ZsKXYxJh9CrZ0u1NyGJgeGPFxDJbUxfkli49MW1x-Lbf2qhdPCN10b_nq3s5YD92Pk_S6mAtfmrVpTalEeHfSBTMqxAVtf3nc6f4QbQvTZx988HoQ_gHLLt_4J9trYTPA-OEmLUvmgu9DQHTpCAg_ACEPvi7bmMkBxtLo7tQp6fSXBUZ5p6buBqNYzPFs8b_BGodkRKU_hDqWbFc-nmHfx7qYmW1gVNB1G9LvfHGVqiNUg3KJBjcmonwKcu-JoYNIucd9xop15OtsBuusLEY8sEVstq9bIYyIw8__xH56MKh7wJTV_cm52qSq4E_d4ogAA&session_state=abe98e32-ffc7-4ed5-94d1-e894ed53d52d
2) post request token with code
https://login.windows.net/88****-da69-4e7d-a5dc-b3a*****1d/oauth2/token
grant_type=authorization_code
&client_id=6e****44-2**3-4**2-8**c-e*******e72 &code=AQABAAIAAABnfiG-mA6**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************37QEBKD-PZ0CAUrIY9uwXenaxkunoD_XG5YDuE2in4BcJiDwEccaFh0BdmQXEqln-pd9QgAA&session_state=0b92ca54-cd08-4a28-9f20-216245e289f0
&redirectUri=http://localhost/TServ
&resource=https://webpoolmaain***.infra.lync.com
&client_secret=bdjmKq**************************nQMtbzA=
response
{
"token_type": "Bearer",
"scope": "Contacts.ReadWrite Conversations.Initiate Conversations.Receive Meetings.ReadWrite User.ReadWrite",
"expires_in": "3599",
"ext_expires_in": "0",
"expires_on": "1493981291",
"not_before": "1493977391",
"resource": "https://webpoolmaain***.infra.lync.com",
"access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6InowMzl6ZHNGdWl6cEJmQlZLMVRuMjVRSFlPMCIsImtpZCI6InowMzl6ZHNGdWl6cEJmQlZLMVRuMjVRSFlPMCJ9.eyJhdWQiOiJodHRwczovL3dlYnBvb2xtYWFpbjEwMi5pbmZyYS5seW5jLmNvbSIsImlzcyI6Imh0dHBzOi8vc3RzLndpbmRvd3MubmV0Lzg4MzU2ZGFjLWRhNjktNGU3ZC1hNWRjLWIzYWM1MzM0MWUxZC8iLCJpYXQiOjE0OTM5NzczOTEsIm5iZiI6MTQ5Mzk3NzM5MSwiZXhwIjoxNDkzOTgxMjkxLCJhY3IiOiIxIiwiYWlvIjoiWTJaZ1lEQXFTWGsrNGVEV3RiRmYyR01ZQmU4ZEZJN1A3UkpQWlRxVjdmRmNPZVRCdFJZQSIsImFtciI6WyJwd2QiXSwiYXBwaWQiOiI2ZTcxZGI0NC0yYjgzLTQ1YTItODcxYy1lY****************************************************************************************************************************************************************************************************************************************************************************************************************************************5ncy5SZWFkV3JpdGUgVXNlci5SZWFkV3JpdGUiLCJzdWIiOiJyZEF3Ql9XTjNQZlRaTEJaMmNfSmlEQ0QwVVFCNWZ0R0Y0Sk5JR25qZjRzIiwidGlkIjoiODgzNTZkYWMtZGE2OS00ZTdkLWE1ZGMtYjNhYzUzMzQxZTFkIiwidW5pcXVlX25hbWUiOiJnb3BhbHJlZGR5QHRlbHBzZ2Nsb3VkLm9ubWljcm9zb2Z0LmNvbSIsInVwbiI6ImdvcGFscmVkZHlAdGVscHNnY2xvdWQub25taWNyb3NvZnQuY29tIiwidmVyIjoiMS4wIn0.BpPYsoUFp4zJQo9Iwllq8bOskKxHom2m9Fw4PXgwZraAfF-LopT54AyNLzfVhjdODbLETl4FnJn140M0pasUI5rMEXYFN2byzusNW3OHojlWbJ5-WpHj8NlQPE02oCwZ81MDqhV1eKjs34rp42F_tQZFXevBJYSMZRATtz4chtQnkzLhJ_c5p4MNmAcA7sdho9kaPUF45tj8bWF9n7ktrD8w2-r0DddKyUW5YXa_pOJzQp4GucoCKBOkIYS85OaAuFe4_kiQOG_dfm1s_HPat4BMyZxMFNuocD0ai-6t7ug7KZ-CK63aqLE9mK9sQSKx9uDo5TOO0-5-FDIIP9eNLA",
"refresh_token": "AQABAAAAAABnfiG-mA6NTae7CdWW7Qfd2CWLGkoBoN9_yp-MKWaBRNCnAjH_YPC3YvbLUuGyKI4dzd4Y3W7y7-q7529kXaVLYIKDOISVtEKX-oHbNGjB4i2HdBXJpdWoiQsZiA2L7ZszaNevz06qUl5lqZjgzx3Lp5imPOyd0Ib_6****************************************************************************************************************************************************************************************************************************************************************************************************************************************Dpj4JIEjcWW8dDm-iplSLM4XpZJWvQ0hJDijkCOKxlg6Pab88I4YBwcrn1D5e1cS2tX3kVpGMBCN5YfRFHrET98293hd9Y88EmI1AFak3xoMOGPLePwH2C_gp2G-IiLLicNehvBdIAA",
"id_token": "eyJ0eXAiOiJ****************************************************************************************************************************************************************************************************************************************************************************************************************************************eXRTQ0pJRlNNcWxIRWs3Q3RSODBwTW5XMk1rIiwidGlkIjoiODgzNTZkYWMtZGE2OS00ZTdkLWE1ZGMtYjNhYzUzMzQxZTFkIiwidW5pcXVlX25hbWUiOiJnb3BhbHJlZGR5QHRlbHBzZ2Nsb3VkLm9ubWljcm9zb2Z0LmNvbSIsInVwbiI6ImdvcGFscmVkZHlAdGVscHNnY2xvdWQub25taWNyb3NvZnQuY29tIiwidmVyIjoiMS4wIn0."
}
步骤4>获取的应用程序资源的URL:
Request Type: Post
URL :https://webpoolmaain***.infra.lync.com/ucwa/oauth/v1/applications
Headers:
Authorization: Bearer <access code from Step 3.2>
Accept: application/json
Content-Type: application/json
Body:
{
"UserAgent":"UCWASamples",
"EndpointId":"88356dac-da69-4e7d-a5dc-b3ac53341e1d",
"Culture":"en-US"
}
Response:
{
"culture": "en-US",
"userAgent": "UCWASamples",
"type": "Browser",
"endpointId": "88356dac-da69-4e7d-a5dc-b3ac53341e1d",
"instanceId": "default",
"id": "10666478063",
"_links": {
"self": {
"href": "/ucwa/oauth/v1/applications/10666478063"
},
"policies": {
"href": "/ucwa/oauth/v1/applications/10666478063/policies"
},
"batch": {
"href": "/ucwa/oauth/v1/applications/10666478063/batch"
},
"events": {
"href": "/ucwa/oauth/v1/applications/10666478063/events?ack=1&key=c2lwOmdvcGFscmVkZHlAdGVscHNnY2xvdWQub25taWNyb3NvZnQuY29t-10666478063-ZGVmYXVsdA%3D%3D"
}
},
"_embedded": {
"me": {
"uri": "sip:g*******[email protected]*******d.onmicrosoft.com",
"name": "G**********y",
"emailAddresses": [
"g*******[email protected]*******d.onmicrosoft.com"
],
"_links": {
"self": {
"href": "/ucwa/oauth/v1/applications/10666478063/me"
},
"makeMeAvailable": {
"href": "/ucwa/oauth/v1/applications/10666478063/me/makeMeAvailable",
"revision": "2"
},
"photo": {
"href": "/ucwa/oauth/v1/applications/10666478063/photos/g*******[email protected]*******d.onmicrosoft.com"
}
},
"rel": "me"
},
"people": {
"_links": {
"self": {
"href": "/ucwa/oauth/v1/applications/10666478063/people"
},
"presenceSubscriptions": {
"href": "/ucwa/oauth/v1/applications/10666478063/people/presenceSubscriptions"
},
"subscribedContacts": {
"href": "/ucwa/oauth/v1/applications/10666478063/people/subscribedContacts"
},
"presenceSubscriptionMemberships": {
"href": "/ucwa/oauth/v1/applications/10666478063/people/presenceSubscriptionMemberships"
},
"myGroups": {
"href": "/ucwa/oauth/v1/applications/10666478063/people/groups",
"revision": "2"
},
"myGroupMemberships": {
"href": "/ucwa/oauth/v1/applications/10666478063/people/groupMemberships",
"revision": "2"
},
"myContacts": {
"href": "/ucwa/oauth/v1/applications/10666478063/people/contacts"
},
"myPrivacyRelationships": {
"href": "/ucwa/oauth/v1/applications/10666478063/people/privacyRelationships"
},
"myContactsAndGroupsSubscription": {
"href": "/ucwa/oauth/v1/applications/10666478063/people/contactsAndGroupsSubscription"
},
"search": {
"href": "/ucwa/oauth/v1/applications/10666478063/people/search",
"revision": "2"
}
},
"rel": "people"
},
"onlineMeetings": {
"_links": {
"self": {
"href": "/ucwa/oauth/v1/applications/10666478063/onlineMeetings"
},
"myOnlineMeetings": {
"href": "/ucwa/oauth/v1/applications/10666478063/onlineMeetings/myOnlineMeetings"
},
"onlineMeetingDefaultValues": {
"href": "/ucwa/oauth/v1/applications/10666478063/onlineMeetings/defaultValues"
},
"onlineMeetingEligibleValues": {
"href": "/ucwa/oauth/v1/applications/10666478063/onlineMeetings/eligibleValues"
},
"onlineMeetingInvitationCustomization": {
"href": "/ucwa/oauth/v1/applications/10666478063/onlineMeetings/customInvitation"
},
"onlineMeetingPolicies": {
"href": "/ucwa/oauth/v1/applications/10666478063/onlineMeetings/policies"
},
"phoneDialInInformation": {
"href": "/ucwa/oauth/v1/applications/10666478063/onlineMeetings/phoneDialInInformation"
}
},
"rel": "onlineMeetings"
},
"communication": {
"videoBasedScreenSharing": "Enabled",
"6845cfcf-c21f-4187-8d43-5***e57811a5": "please pass this in a PUT request",
"supportedModalities": [],
"supportedMessageFormats": [
"Plain"
],
"audioPreference": "PhoneAudio",
"publishEndpointLocation": true,
"_links": {
"self": {
"href": "/ucwa/oauth/v1/applications/10666478063/communication"
},
"mediaRelayAccessToken": {
"href": "/ucwa/oauth/v1/applications/10666478063/communication/mediaRelayAccessToken"
},
"mediaPolicies": {
"href": "/ucwa/oauth/v1/applications/10666478063/mediaPolicies"
},
"conversations": {
"href": "/ucwa/oauth/v1/applications/10666478063/communication/conversations?filter=active"
},
"startMessaging": {
"href": "/ucwa/oauth/v1/applications/10666478063/communication/messagingInvitations",
"revision": "2"
},
"startAudioVideo": {
"href": "/ucwa/oauth/v1/applications/10666478063/communication/audioVideoInvitations",
"revision": "2"
},
"startOnlineMeeting": {
"href": "/ucwa/oauth/v1/applications/10666478063/communication/onlineMeetingInvitations?onlineMeetingUri=adhoc"
},
"joinOnlineMeeting": {
"href": "/ucwa/oauth/v1/applications/10666478063/communication/onlineMeetingInvitations"
},
"missedItems": {
"href": "/ucwa/oauth/v1/applications/10666478063/communication/missedItems"
}
},
"rel": "communication",
"etag": "11133050"
}
},
"rel": "application",
"etag": "3184910031",
"expires": "/Date(1494266184733)/"
}
第5步>创建在线会议:
Request Type: Post
URL :https://webpoolmaain***.infra.lync.com/ucwa/oauth/v1/applications/10666478063/onlineMeetings/myOnlineMeetings
Headers:
Authorization: Bearer <access code from Step 3.2>
Content-Type: application/json
Body:
{
"accessLevel" : "Everyone",
"attendanceAnnouncementsStatus":"Disabled",
"description":"hey guys let's do a musical!",
"subject":"Party Time",
"attendees": ["sip:[email protected]*******d.onmicrosoft.com","sip:g*******[email protected]*******d.co.in"],
"leaders": []
}
Response:
{
"accessLevel": "Everyone",
"entryExitAnnouncement": "Disabled",
"attendees": [
"sip:[email protected]*******d.onmicrosoft.com",
"sip:g*******[email protected]*******d.co.in"
],
"automaticLeaderAssignment": "Disabled",
"description": "hey guys let's do a musical!",
"leaders": [],
"onlineMeetingId": "JEHFP54F",
"onlineMeetingUri": "sip:g*******[email protected]*******d.onmicrosoft.com;gruu;opaque=app:conf:focus:id:JEHFP54F",
"legacyOnlineMeetingUri": "conf:sip:g*******[email protected]*******d.onmicrosoft.com;gruu;opaque=app:conf:focus:id:JEHFP54F?conversation-id=JEHFP54F",
"onlineMeetingRel": "myOnlineMeetings",
"organizerUri": "sip:g*******[email protected]*******d.onmicrosoft.com",
"phoneUserAdmission": "Disabled",
"lobbyBypassForPhoneUsers": "Disabled",
"subject": "Party Time",
"joinUrl": "https://meet.lync.com/t*******d/g*******y/JEHFP54F",
"6845cfcf-c21f-4187-8d43-5***e57811a5": "please pass this in a PUT request",
"_links": {
"self": {
"href": "/ucwa/oauth/v1/applications/10666478063/onlineMeetings/myOnlineMeetings/JEHFP54F"
},
"onlineMeetingExtensions": {
"href": "/ucwa/oauth/v1/applications/10666478063/onlineMeetings/myOnlineMeetings/JEHFP54F/extensions"
}
},
"rel": "myOnlineMeeting",
"etag": "3135154093"
}
您有以下范围:
感谢。但对于UCWA,因为需要Azure AD身份验证,并且该过程包括重定向到登录页面等,这是否意味着我们只能在Web应用程序中使用它?有没有办法在桌面应用程序中使用它,即控制台程序? – urlreader
现在,您确实需要重定向到登录页面。这可以通过桌面应用程序完成,启动嵌入式浏览器。 [ADAL库](https://msdn.microsoft.com/en-us/library/azure/mt417579.aspx)可能会帮助你解决这个问题。 –
@ RichardTaylor-Microsoft应该更新记录可用于Skype业务的API的#OfficeDev页面,该页面目前声明UCWA2在线不可用,并且不会在线提供关于UCMA5可用性的任何信息https://dev.office.com/Skype/sdks#UCWA – baywet