2017-02-02 63 views
0

我试图创建一个小的控制台应用程序发送和接收来自SFB的消息。
我通过使用https://github.com/tamhinsf/ucwa-sfbo-console中的代码开始,然后使用readme.md在Azure管理门户中创建应用程序(我分配了所有委派的权限以确保安全)。
都已经包括在API的工作(所以我敢肯定我是正确的登录),但是当我尝试调用makeMeAvailable收到IM通话(在https://ucwa.skype.com/documentation/KeyTasks-Communication-IncomingIMCall看)我得到以下响应UCWA:makeMeAvailable返回禁止和API混淆

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

我发布数据如下

{"SupportedModalities":["Messaging"]} 

这就是ucwa.skype.com网站的示例。

我也发现有问题发送消息,在Skype的网站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. 你是对的,很好的发现。但是,在messagingInvitations资源(它不在文档中的哪个位置)上发布是正确的方法。因此,遵循使用操作返回的URI的原则,而不是在代码中按惯例编写URI是一种方法。 您可以在这里创建一个问题通知如下:https://github.com/OfficeDev/skype-docs/issues

+0

“User.ReadWrite”暴露为Skype for Business在线和“允许该应用读取和更新状态,照片,位置,注意,来电转接设置的登录用户“。我的代码示例(在原始文章中引用)使用makeMeAvailable来设置用户存在。 https://msdn.microsoft.com/en-us/skype/ucwa/skypeforbusinessonlinescopepermissions –

+0

我确认这现在按预期工作:'makeMeAvailable'现在返回204.我很确定它不是一个月前,在我的答案时间,具有相同的权限请求和相同的代码。这个变化是在哪里跟踪或宣布的? –

+0

现在已经有一段时间了 - 不幸的是,它看起来没有任何公告。我无法回想起何时,但自从我更新我的代码以支持呈现之后,这已经过去了一个多月。 –