2017-02-02 24 views
0

Я пытаюсь создать небольшое консольное приложение, отправляющее и получающее сообщение от SFB.
Я начал с использования кода от https://github.com/tamhinsf/ucwa-sfbo-console и следил за readme.md для создания приложения на портале Azure Management Portal (я просто поручил всем делегированным разрешениям).
Все уже включены API работы (так что я уверен, что я входа в систему правильно), но когда я пытаюсь вызвать makeMeAvailable получить IM вызова (если смотреть на https://ucwa.skype.com/documentation/KeyTasks-Communication-IncomingIMCall) Я получаю следующий ответUCWA: makeMeAvailable return forbidden и API confusion

{"code":"Forbidden","message":"The requested operation isn\u0027t allowed."} 

Мои следующие данные

{"SupportedModalities":["Messaging"]} 

Это как пример с сайта ucwa.skype.com.

Я также найти проблематично, чтобы отправить сообщение, на сайте скайп https://ucwa.skype.com/documentation/Resources-startMessaging показывает вызов

Post https://fe1.contoso.com:443//v1/applications/970/communication/startMessaging 

, но на мой ответ приложения embedded.communication._links.startMessaging это/messagingInvitations и не/startMessaging. документация на https://ucwa.skype.com/documentation/KeyTasks-CreateApplication-3 также показывает

"startMessaging":{"href":"/ucwa/oauth/v1/applications/105/communication/messagingInvitations"}, 

Я совершенно запутался над тем, что я должен сделать, чтобы правильно отправлять и получать сообщения и документацию по API действительно не поможет.

Заранее спасибо.

ответ

1
  1. makeMeAvailable пока не поддерживается в UCWA для онлайн. Вероятно, когда он будет представлен, в разрешениях AAD будет добавлено новое разрешение приложения, которое необходимо будет предоставить. Итак, это ожидалось, но документация действительно устарела и просто ссылается на поведение для UCWA для On-Prem.
    См. Также:: Enable 'me' resource and controlling self user's presence in UCWA

  2. Вы правы, хороший результат. Однако, POST на ресурсе messagingInvitations (которого нет в документации), является правильным способом. Таким образом, следуя принципу использования URI, возвращаемых операциями, а не составлению URI по соглашению в вашем коде, это путь. Вы можете уведомить об этом, создав вопрос здесь: https://github.com/OfficeDev/skype-docs/issues

+0

«User.ReadWrite» выставляется на Skype для бизнеса онлайн и «Приложение сможет считывать и наличие обновлений, фото, расположение, обратите внимание, вызовите настройки переадресации пользователя с подписью ». В моем примере кода (ссылка на оригинальное сообщение) используется makeMeAvailable для установки присутствия пользователя. https://msdn.microsoft.com/en-us/skype/ucwa/skypeforbusinessonlinescopepermissions –

+0

Я подтверждаю, что теперь это работает так, как ожидалось: теперь «makeMeAvailable» возвращает 204. Я почти уверен, что это было не так месяц назад, при время моего ответа, с тем же запросом разрешений и тем же кодом. Было ли это изменение отслеживаться или объявляться где-то? –

+0

Он был доступен уже некоторое время - к сожалению, похоже, что никаких объявлений не было сделано. Я не могу вспомнить, когда, но прошло больше месяца, так как я обновил свой код для поддержки присутствия. –