2016-05-24 6 views
0

Я пытаюсь использовать REST API в Skype для бизнеса в Интернете, следуя инструкциям здесь: https://msdn.microsoft.com/EN-US/library/office/mt590891(v=office.16).aspx.Невозможно получить адрес приложения для Skype для бизнеса

Выполняю первый вызов службы обнаружения, а затем возвращаю URL-адрес для поиска; для меня это выглядит так: https://webdir0b.online.lync.com/Autodiscover/AutodiscoverService.svc/root/oauth/user

Затем я звоню Azure и успешно получаю токен доступа для https://webdir0b.online.lync.com. Следующий шаг - это то, где вещи сломаются - я снова делаю запрос к открытию Url для пользователя и включаю токен доступа. Вызов возвращается успешно, но проблема в том, что он не имеет URL-адреса приложений в полезной нагрузке, как описано в документации. Вместо этого он возвращает ту же самую точную информацию, что и я, когда я назвал конечную точку общего обнаружения (https://webdir.online.lync.com/autodiscover/autodiscoverservice.svc/root). Я трижды проверил, что я вызываю правильную конечную точку, поэтому ... любые подсказки относительно того, почему я не получаю ожидаемую полезную нагрузку при вызове Url для пользователя?

+0

Хорошо, какого черта. Я продолжал суетиться и - один раз - он фактически вернул правильную нагрузку. Просто, к счастью, я заметил, что он перешел на другой сервер, так что ... этот API не работает на всех SFB-серверах? В частности, теперь, если я жестко закодирую конечную точку обнаружения на https://webdir1a.online.lync.com/Autodiscover/AutodiscoverService.svc/root/oauth/user, тогда я получаю правильную полезную нагрузку. Если я просто возьму то, что дает мне общее открытое конечное значение, то он терпит неудачу каждый раз, если только он не попадет на этот сервер. Так в чем же дело? –

+0

Было бы интересно увидеть след запроса/ответа, чтобы увидеть увеличенное изображение, так как вы не должны быть перенаправлены обратно в местоположение A, если вы уже прошли эту точку. Если вам не удастся, вы можете подумать о том, чтобы получить трассировку Fiddler и обратиться к MSFT, поскольку в каждом онлайн-пользователе могут быть некоторые незначительные удары, и вы можете быть одним из немногих неудачников. – ShelbyZ

+0

Я постараюсь ответить как можно короче - я получил эту работу. 1-й выпуск - когда вы не получаете «приложения» в результате, вместо этого вы должны иметь «перенаправление». Продолжайте следовать этому и делайте свое GET против него (используя процесс получения токенов доступа и добавления заголовка auth), и в конечном итоге вы должны получить приложение Url. 2-я проблема. После того, как вы получите URL-адрес своих приложений, вам нужно получить еще один токен доступа и использовать имя хоста URL-адреса приложений в качестве идентификатора ресурса. Затем вы можете публиковать и создавать свои приложения. Надеюсь, это поможет кому-то. :-) –

ответ

0

Я постараюсь ответить как можно короче - я получил эту работу. 1-й выпуск - когда вы не получаете «приложения» в результате, вместо этого вы должны иметь «перенаправление». Продолжайте следовать этому и делайте свое GET против него (используя процесс получения токенов доступа и добавления заголовка auth), и в конечном итоге вы должны получить приложение Url. 2-я проблема. После того, как вы получите URL-адрес своих приложений, вам нужно получить еще один токен доступа и использовать имя хоста URL-адреса приложений в качестве идентификатора ресурса. Затем вы можете публиковать и создавать свои приложения. Надеюсь, это поможет кому-то. :-)

0

(Действительно ли я ответить Стиву Pescka: о)

В моем случае выполнения GET на user ресурс
GET https://webdir0e.online.lync.com/Autodiscover/AutodiscoverService.svc/root/oauth/user?originalDomain=contoso.onmicrosoft.com

возвращает следующие

<resource rel="user" href="https://webpoolam30e08.infra.lync.com/Autodiscover/AutodiscoverService.svc/root/oauth/user" xmlns="http://schemas.microsoft.com/rtc/2012/03/ucwa"> 
    <link rel="applications" href="https://webpoolam30e08.infra.lync.com/ucwa/oauth/v1/applications" revision="2" /> 
    <link rel="xframe" href="https://webpoolam30e08.infra.lync.com/Autodiscover/XFrame/XFrame.html" /> 
</resource> 

Так он содержит URI для ресурса applications, где POST для создания вашего приложения. У меня есть лицензия O365 E5

+0

Эй, спасибо Массимо, это действительно я. :-) Я ценю, что вы публикуете то, что у вас есть, но я все равно временно застреваю, потому что я не получаю обратно те же данные. Я все еще держусь за него, поэтому, думаю, мы посмотрим, что произойдет. –

0

Исправить. Когда результаты вызова пользовательского ресурса не включают приложения, он будет включать значение переадресации. Вот пример:

Вызов здесь:

https://webdir0b.online.lync.com/Autodiscover/AutodiscoverService.svc/root/oauth/user 

может возвращать следующие:

{"_links":{"self":{"href":"https://webdir0b.online.lync.com/Autodiscover/AutodiscoverService.svc/root/user"},"xframe":{"href":"https://webdir2a.online.lync.com/Autodiscover/AutodiscoverService.svc/root/xframe"},"redirect":{"href":"https://webdir2a.online.lync.com/Autodiscover/AutodiscoverService.svc/root"}}} 

Что включает в себя это перенаправление

"redirect":{"href":"https://webdir2a.online.lync.com/Autodiscover/AutodiscoverService.svc/root"}}} 

Чтобы продолжить, вам тогда нужно для создания аутентификационного запроса Azure AD, передавая ТОЛЬКО значение протокола: // имя_сервера в качестве ресурса. Это означает снижение следующее:

https://webdir2a.online.lync.com/Autodiscover/AutodiscoverService.svc/root 

быть только это:

https://webdir2a.online.lync.com/ 

Теперь, когда у вас есть действительный маркер для webdir2a.online.lync.com, вам тогда нужно добавить «/ oauth/user ", чтобы перенаправить URL. Вы заметите, что первоначальный вызов включал это в URL-адрес, тогда как URL-адрес переадресации отсутствует.

Вызова обновленного перенаправлять URL

https://webdir2a.online.lync.com/Autodiscover/AutodiscoverService.svc/root/oauth/user 

И вы должны получить то, что вы после:

{"_links":{"self":{"href":"https://webpooldm12a04.infra.lync.com/Autodiscover/AutodiscoverService.svc/root/oauth/user"},"applications":{"href":"https://webpooldm12a04.infra.lync.com/ucwa/oauth/v1/applications","revision":"2"},"xframe":{"href":"https://webpooldm12a04.infra.lync.com/Autodiscover/XFrame/XFrame.html"}}} 

который является ПРИИМЕНЕНИЕ ресурса

"applications":{"href":"https://webpooldm12a04.infra.lync.com/ucwa/oauth/v1/applications","revision":"2"} 

Для заинтересованного , Я создал .NET-based console app, который демонстрирует, как войти в Skype для бизнеса через Интернет через th e UCWA API - и при этом обрабатывает процесс автообнаружения, перенаправляет, создает приложения, среди прочего.

0

Я пытаюсь использовать API REST в Skype для бизнеса в Интернете, следуя инструкциям здесь: https://msdn.microsoft.com/EN-US/library/office/mt590891(v=office.16).aspx.

Выполняю первый вызов службы обнаружения, а затем возвращаю URL-адрес для поиска; для меня это выглядит так: https://webdir0b.online.lync.com/Autodiscover/AutodiscoverService.svc/root/oauth/user

Затем я звоню Azure и успешно получаю токен доступа для https://webdir0b.online.lync.com. Следующий шаг - это то, где вещи сломаются - я снова делаю запрос к открытию Url для пользователя и включаю токен доступа. Я получаю 500 - Внутренняя ошибка сервера. Существует проблема с ресурсом, который вы ищете, и его невозможно отобразить.

+0

Это не ответ на вопрос. Рассмотрите возможность размещения нового вопроса, если ответы здесь не применимы к вам. –

Смежные вопросы