Skype for business Web SDK-状态/状态';马上回来';

Skype for business Web SDK-状态/状态';马上回来';,skype,skype-for-business,skypedeveloper,Skype,Skype For Business,Skypedeveloper,我正在将Skype for Business Web SDK集成到我的Web应用程序中 我的问题是关于状态变化(状态)。 根据上的示例,我正在以以下方式收听(我的)状态更改: client.personsAndGroupsManager.mePerson.status.changed(function (status) { console.log("My new status: " + status); // etc... }); 这是可行的,我可以根据状态变化更新UI

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

我的问题是关于状态变化(状态)。 根据上的示例,我正在以以下方式收听(我的)状态更改:

client.personsAndGroupsManager.mePerson.status.changed(function (status) {
    console.log("My new status: " + status);
    // etc...   
});
这是可行的,我可以根据状态变化更新UI

有一个例外-->状态为“立即返回”。 当状态在Skype客户端或我的应用程序的UI中外部更改为“Be right back”(BeRightBack)时,我将返回状态“Away”

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

POST
{"availability":"BeRightBack"}

另外,当我以“立即返回”状态登录Skype时,SDK会返回“离开”状态

当在上运行样本时,我得到了相同的结果。 我将状态更改为“马上回来”,警报显示我“离开”


我是不是遗漏了什么?这是预期的行为吗

遇到了同样的问题:如果我登录skype for business(桌面客户端)并将用户设置为
立即返回
我从web sdk获得的值是
远离

稍微研究一下,我注意到sdk.js:44553(版本为1.2.36)中存在该方法

就在上面,您可以看到状态enum的声明缺少BRB值,但我不明白为什么,特别是因为SDK根据


在我看来,这似乎是他们在创建SDK后添加的状态,出于追溯兼容性的原因,他们正在做一些奇怪的事情,但如果没有访问存储库的权限,很难确认

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

让我解释一下他们两个之间的区别<代码>b快速返回不是状态,而是活动。
BeRightBack
的状态为
Away
activity
的状态为
be right back
。与下班时相同。如果将状态设置为
下班
,您将看到
状态=离开
活动=下班
。我找不到如何设置
活动
。如果你发现什么,请告诉我

这是代码

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);
});

请指定您使用的de SDK的版本好吗?我使用的是SkypeBootstrap_1.2.36.min.js,活动be right back从未返回。我确实在下班后参加活动,效果很好。有趣的是,mePerson对象的activity属性返回字符串off work,person对象的activity属性返回字符串off work。我还没有找到在web应用程序中设置活动的方法。状态是personsAndGroupsManager.mePerson.status.set(状态),但这里没有personsAndGroupsManager.mePerson.activity.set(活动)这类东西,这是一个公开的常规用法,我尝试了1.2.36和1.2.15(常规用法)。但其中两个结果相同。是的,
mePerson。活动
不起作用。如果你有办法,请告诉我。
/**
* 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;
}
var Status;
(function (Status) {
    Status.Away = 'Away';
    Status.Busy = 'Busy';
    Status.DoNotDisturb = 'DoNotDisturb';
    Status.Offline = 'Offline';
    Status.Online = 'Online';
})(Status = Person.Status || (Person.Status = {}));
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);
});