从浏览器触发Skype for Business桌面应用程序

时间:2016-08-30 07:36:34

标签: javascript skype skype-for-business

我正在尝试将skype与我的应用集成。我正在尝试根据sip id获取用户的状态,如果用户在线,我试图通过我的Web应用程序中的按钮单击来触发桌面应用程序。

启用此操作的任何api调用是什么?通过文档,找不到任何东西。

这是我到目前为止所做的,这只是注册部分。

var skypeWidget = Class.create();
console.log("skype for business js loaded");
var skypeWidgetString = "<div class='sfb_widget'>Skype Widget<a onclick='somefunction()'>Open</a></div>"
jQuery(".requester-details").append(skypeWidgetString);

console.log(Skype);

var config = {
    apiKey: 'apikey', // SDK
    apiKeyCC: 'apikeycc' // SDK+UI
};

var Application;

Skype.initialize({ apiKey: config.apiKey }, function(api) {
    window.skypeWebAppCtor = api.application;
    window.skypeWebApp = new api.application();
    skypeSignIn();
    window.skypeWebApp.signInManager.state.changed(function(state) {
      console.log("in");
    });
}, function(err) {
    console.log(err);
    console.log("cannot load the SDK");
});


var skypeSignIn = function() {
    var client = new Skype.Web.Model.Application;
    client.signInManager.signIn({
        username: "username",
        password: "password"
    }).then(function() {
        alert('Logged in!');
    }, function(error) {
        alert(error);
    });

}

var somefunction(){
  //trigger desktop app here
 }

1 个答案:

答案 0 :(得分:0)

尝试'重定向'到'链接':

window.location = 'skype:some_skype_user?chat';

要使用变量代替some_skype_user,您需要连接它:

var skypename = 'skypeuser01';
window.location = 'skype:' + skypename + '?chat';