2017-03-16 13 views
1

私のWebアプリケーションにSkype for Business Web SDKを統合しようとしています。Skype for business Web SDK - プレゼンス/ステータス 'すぐに戻る'

私の質問は状態の変化(存在)についてです。私は次のように(私の)状態の変化を聞いていhttps://ucwa.skype.com/websdk上のサンプルによると :

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

これは動作し、私はステータスの変化に応じてUIを更新することができます。

ステータスが「すぐ戻る」という例外が1つあります。 Skypeクライアントや自分のアプリケーションのUIでステータスが「Be right back(BeRightBack)」に変更された場合、ステータス「Away」に戻ります。

エッジの開発ツールでチェックするとき、私は以下を参照してください。

POST 
{"availability":"BeRightBack"} 

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

また、私は「は、右バック」でのSkypeにログインされた状態でサインインするときステータスの場合、SDKはステータス「Away」を返します。

https://ucwa.skype.com/websdkでサンプルを実行すると、同じ結果になります。 ステータスを「戻る」に変更し、アラートに「私は離れている」と表示されます。

ここに何か不足していますか?これは予想される動作ですか?

答えて

1

同じ問題が発生しました:ビジネス用のSkypeにログインして(デスクトップクライアント)、ユーザを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を作成した後、彼らは奇妙やっているレトロ互換性の理由のために追加の状態だように見えるSDKは私にdocumentation

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

に応じたBRBの値をサポートし、特に以来、なぜけれども理解していませんしかし、リポジトリにアクセスすることなく確認するのは難しいです。

0

ところで、みんな、これを実現しました。 mePersonオブジェクトには2つの属性があります。そのうちの1つはstatusで、もう1つの属性はactivityです。

2つの違いを説明しましょう。 BeRightBackはステータスではなく、アクティビティです。 BeRightBackのステータスはAwayであり、activitybe-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); 
}); 
+0

使用しているSDKのバージョンを教えてください。 私はSkypeBootstrap_1.2.36.min.jsを使用していますが、アクティビティの右折は返されません。 正常に機能している活動がわかりません。面白いのは、mePersonオブジェクトのactivity属性は文字列off-workを返します。personオブジェクトのactivity属性は文字列offを返します。 ウェブアプリケーションでアクティビティを設定する方法が見つかりませんでした。 ステータスはpersonAndGroupsManager.mePerson.status.set(status)ですが、personsAndGroupsManager.mePerson.activity.set(activity) – rile

+0

ここには一般的な使用法[link]があります(https://msdn.microsoft.com/)。 ja-ko/skype/websdk/docs/gettingstarted) と私は1.2.36と1.2.15を試しました(一般的な使い方)。しかし、それらの2つは同じ結果を持っています。はい、 'mePerson.activity'は動作しません。方法を見つけたら、私に知らせてください。 – tntstn

関連する問題