Node.js 如何检查MSTeam上的成员状态
为了检查MSTeam上的成员状态(在线或离线),我想通过电子邮件获取成员状态 我已经接触并编写了一个示例代码来了解我的想法:Node.js 如何检查MSTeam上的成员状态,node.js,botframework,microsoft-teams,Node.js,Botframework,Microsoft Teams,为了检查MSTeam上的成员状态(在线或离线),我想通过电子邮件获取成员状态 我已经接触并编写了一个示例代码来了解我的想法: var teams = require("botbuilder-teams"); bot.dialog('FetchMemberInfo', function (session) { var memberEmail = 'billzeng@csc.com'; var connector = new teams.TeamsChatConnector({
var teams = require("botbuilder-teams");
bot.dialog('FetchMemberInfo', function (session) {
var memberEmail = 'billzeng@csc.com';
var connector = new teams.TeamsChatConnector({
appId: process.env.MICROSOFT_APP_ID,
appPassword: process.env.MICROSOFT_APP_PASSWORD
});
connector.fetchMemberInfo(session.message.address.serviceUrl, memberEmail, function (err, result) {
if (err) {
session.endDialog('There is some error');
}
else {
var memberStatus = result.member.status;
session.endDialog('%s', JSON.stringify(result));
}
});
});
我只有会员的电子邮件,希望获得会员身份。那么,在我的示例代码中,需要更新什么位置才能获得包括成员状态的成员信息呢?如果有其他建议,我也欢迎。获取/设置用户状态的API还不可用。它在API路线图上,但到今天还不可能实际上,我们可以通过Skype4Business API获取用户状态(在线/离线)。下面是一个示例代码:
var authContext = {
id: botSetting.identifier,
username: botSetting.username,
password: botSetting.password,
domain: botSetting.domain,
_links: {},
/*1 seconds*/
messageInterval: 1000 * botSetting.messageInterval,
/*30 seconds*/
messageTimeout: 1000 * botSetting.messageTimeout,
/*3 minutes, unit in second*/
statusUpdateInterval: 1000 * botSetting.statusUpdateInterval,
AppId: null,
AppPath: null,
EndPointId: botSetting.endpointId,
Culture: botSetting.culture,
UserAgent: botSetting.userAgent,
/* default timeout to wait for user to accept message is 5 minutes */
acceptMessageInvitationTimeout: botSetting.acceptMessageInvitationTimeout * 1000,
logUnhandleEvent: botSetting.logUnhandleEvent,
RootAppUrl: null,
/*default is 30 seconds, unit in second*/
statusAwarenessInterval: (CONFIG.PROACTIVE_MESSAGE_INTERVAL_IN_SECONDS || 30) * SECOND_TO_MILLISECONDS, //30 seconds
remindProcessProactiveMsgInterval: 1000 * 60 * CONFIG.PROACTIVE_MESSAGE_REMIND_IN_MINUTES,
proactive_interval: process.env.PROACTIVE_UPDATE_INTERVAL_IN_MINUTES || 2
};
function getUserAvailibility(receiver){
var url = authContext._embedded.people._links.self.href;
var requestResourceUrl = stringFormat("{0}{1}/{2}/presence", authContext.BaseUri,
url, receiver);
console.log("SkypeForBusinessBot getUserAvailibility " + receiver +
" with url: " + requestResourceUrl);
return $q.nfcall(request.get, requestResourceUrl, {
headers: authContext.headers, json: true });
}
注意:收件人是用户的电子邮件是否有其他方法检测用户是否在线?比如尝试向用户发送消息并寻找对用户状态有反应的响应?听起来很有希望,谢谢。Node.js脚本中需要哪个模块来实现此功能?如果您需要通过团队而不是S4B来实现此功能,如您在问题中所述,该怎么办?