我试图创建使用的NodeJS为Lync一个简单的客户端。 立足http://ucwa.lync.com/documentation/KeyTasks-CreateApplication我做了成才这样。 它的工作原理,直到最后一个步骤#9时,我应该注册我的UCWA的应用程序。 服务器代码500和愚蠢的解释回应
有一个与你正在寻找的资源问题,它无法显示
和头
X-MS-诊断: '28032;源= “MYSOURCE”;原因= “网络票证是无效的。”'
var http = require('request-promise');
var lync = {};
lync.setup = function(email, password){
var self = this;
var hostname = email.split('@');
this.username = email;
//discover urls
return http.get('http://lyncdiscover.'+hostname[1])
.then(function(d) {
var parsed = JSON.parse(d);
self.urls = {
self: parsed._links.self.href,
user: parsed._links.user.href,
xframe: parsed._links.xframe.href
};
return http.get(self.urls.user);
}).catch(function(err){
if(err.statusCode == 401){
var toParse = err.response.headers['www-authenticate'];
var Oauth = toParse.match(/https:\/\/[\d\w\./_-]*/i)[0];
var loginPost = {
grant_type: 'password',
username: email,
password: password
};
return http.post(Oauth, {form:loginPost});
}
return false
}).then(function(data){
var parsed = JSON.parse(data);
//setup authorization
http = http.defaults({
headers: {Authorization: parsed.token_type + ' ' + parsed.access_token}
});
//console.log(self.urls.user);
//console.log('Authorization:'+ parsed.token_type + ' ' + parsed.access_token);
return http.get(self.urls.user);
}).then(function(data){
var parsed = JSON.parse(data);
self.urls.applications = parsed._links.applications.href;
var registerApp = {
culture : "en-us",
endpointId : "2d9dc28d-4673-4035-825c-feb64be28e4e",
userAgent : "Test"
};
var r = "{'userAgent': 'NodeJs', 'endpointId' : '2d9dc28d-4673-4035-825c-feb64be28e4e', 'culture': 'en-US'}";
return http.post(self.urls.applications, {body: registerApp, json:true});
})
.then(function(data){
console.log(data);
})
.catch(function(err){
console.log(err);
return false;
});
};
//run app
lync.setup('login@domain.com', 'password').then(function(ret){
});
这里的一个关键点。 这不是我的服务器。 我只是有一个帐户那边,我可以用官方的Lync客户端或插件的Pidgin登录。 是否有一些额外的步骤,以“让”我的应用程序与UCWA工作?
@ShelbyZ我可以很容易地使用OAuth进行授权。 我收到的授权令牌,所以我登录。
我收到JSON相似
“_links”:{ “自我”:{ “HREF”: “链接”}, “应用程序”:{ “HREF”: “我需要这个”}, “xframe”:{ “HREF”: “链接”}}}
现在。 我需要“注册我的应用”做POST。 在这最后一步,我得到500码响应。 我希望这不是与@Matthew普罗克特说,有关.. becouse我不能简单管理金融服务器