2016-05-13 10 views
2

Мы пытаемся выяснить, поддерживает ли последние UCWA или UCMA Skype для бизнеса в Интернете? После долгого поиска я увидел, что кто-то опубликовал в марте/апреле 2015 года, и сказал, что UCMA/UCWA еще не поддержали его. Но тогда я ничего не мог с этим поделать. Поддерживает ли его последняя версия? Где я могу найти информацию об этом?Поддерживают ли API UCWA или UCMA Skype для бизнеса в Интернете?

Благодаря

ответ

2

UCWA теперь доступен для Skype для бизнеса онлайн. steps to get your UCWA application registered and authenticated сильно отличаются от использования UCWA для Skype для Business Server, но как только вы вошли в систему, фактический API почти идентичен. Прямо сейчас, версия для Skype для бизнеса Online UCWA имеет slightly fewer capabilities, чем версия Skype для Business Server - например, сообщения могут быть отправлены, но не получены, хотя это должно измениться в ближайшее время.

UCMA недоступен для Skype для бизнеса в Интернете по причинам, указанным в this question and answer.

+0

спасибо. но для UCWA, так как требуется аутентификация Azure AD, а процедура включает перенаправление на страницу входа и т. д. означает ли это, что мы можем использовать ее только в веб-приложении? Есть ли способ использовать это в настольном приложении, то есть в консольной программе? – urlreader

+0

Прямо сейчас вам нужно перенаправить на страницу входа. Это можно сделать и в настольных приложениях, запустив встроенный браузер. [ADAL-библиотека] (https://msdn.microsoft.com/en-us/library/azure/mt417579.aspx) может помочь вам в этом. –

+0

@ RichardTaylor-Microsoft Страница #OfficeDev, документирующая доступные API для skype для бизнеса, должна быть обновлена, она в настоящее время заявляет, что UCWA2 недоступен в Интернете и ничего не говорит о доступности UCMA5 онлайн https://dev.office.com/Skype/sdks # UCWA – baywet

1

Skype for Business Online использует аутентификацию Azure AD для аутентификации, с которой вы можете аутентифицироваться против использования имени пользователя и пароля в библиотеке ADAL.net.

http://www.cloudidentity.com/blog/2014/07/08/using-adal-net-to-authenticate-users-via-usernamepassword/

Я создал sample .NET console app что знаки в Skype для бизнеса в Интернете с помощью UCWA и имя пользователя и пароль аутентификации. Он работает во многих простых сценариях.

1

Перед начала следующих действий, пользователь должен зарегистрировать приложение в Azure AD и дать весь доступ к необходимому API и собирать

  • Client ID
  • Клиент Secert

От Почтальона расширение. Можно выполнить следующие шаги: с помощью UCWA в Skype для бизнеса (SFB):

Шаг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> Получить URLs ресурсов приложения:

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" 
    } 

Вы имеете следующие сферы:

  • Contacts.ReadWrite
  • Conversations.Initiate
  • Conversations.Receive
  • встречи.ReadWrite (Шаг 5 объясняет о создании собрания)
  • User.ReadWrite

См: https://msdn.microsoft.com/en-us/skype/ucwa/skypeforbusinessonlinescopepermissions?f=255&MSPPError=-2147217396