Skype for Business Web SDK - 状态/状态'Be right back'



我正在将Skype for Business Web SDK集成到我的Web应用程序中。

我的问题是关于状态更改(状态)。 根据 https://ucwa.skype.com/websdk 上的样本,我正在通过以下方式收听(我的)状态变化:

client.personsAndGroupsManager.mePerson.status.changed(function (status) {
console.log("My new status: " + status);
// etc...   
});

这有效,我可以根据状态更改更新 UI。

有一个例外 ->状态"马上回来"。 当状态在 Skype 客户端或应用程序的 UI 中外部更改为"立即返回"(BeRightBack) 时,我返回的状态为"离开"。

在检查 Edge 的开发工具时,我看到以下内容:

POST
{"availability":"BeRightBack"}

GET
{"availability":"BeRightBack","_links":{"self": {"href":"/ucwa/oauth/v1/applications.... etc }},"rel":"presence"}

此外,当我在登录 Skype 时以"立即返回"状态登录时,SDK 会返回状态"离开"。

在 https://ucwa.skype.com/websdk 上运行样本时,我得到相同的结果。 我将状态更改为"马上回来",警报显示我"离开"。

我在这里错过了什么吗?这是预期行为吗?

遇到同样的问题:如果我登录到Skype for Business(桌面客户端)并将用户设置为be right back我从Web SDK获得的值away
稍微调查一下,我注意到该方法存在于 sdk.js:44553(版本 1.2.36)

/**
* Transform status values from UCWA to values known to jCafe.
* @param {string} s - status value from UCWA
*/
function fixStatus(s) {
return Person.Status[s] || {
BeRightBack: Person.Status.Away,
Idle: Person.Status.Away,
IdleOnline: Person.Status.Away,
IdleBusy: Person.Status.Away,
Unknown: Person.Status.Offline
}[s] || Person.Status.Offline;
}

在上面,您可以看到状态枚举的声明缺少 BRB 值,我不明白为什么,特别是因为 SDK 根据文档支持 BRB 值

var Status;
(function (Status) {
Status.Away = 'Away';
Status.Busy = 'Busy';
Status.DoNotDisturb = 'DoNotDisturb';
Status.Offline = 'Offline';
Status.Online = 'Online';
})(Status = Person.Status || (Person.Status = {}));

对我来说,这似乎是他们在创建SDK后添加的状态,出于逆向兼容性的原因,他们正在做奇怪的事情,但是无法访问存储库很难确认。

顺便说一句,伙计们,我意识到了这一点; mePerson 对象有两个属性。其中一个是status属性,另一个属性是activity

让我解释一下其中两个之间的区别。BeRightBack不是一种状态,而是一种活动。BeRightBack的状态是Awayactivitybe-right-back。与OffWork相同。如果将状态设置为OffWork,您将看到status = Awayactivity = off-work。我没有找到如何设置activity.如果您发现任何内容,请告诉我。

这是代码;

var stasus = 'BeRightBack' ;     
window.skypeWebApp.personsAndGroupsManager.mePerson.activity.changed(function (status) {
// alert('Activity Changed to: ' + status);
console.log('Activity Changed to: ' + window.skypeWebApp.personsAndGroupsManager.mePerson.activity);
});

相关内容

  • 没有找到相关文章

最新更新