Open zqbe opened 2 years ago
Hi Team,
we want to capture the MS team user info in app insights. I have added the code below but
private void LogActivityTelemetry(Activity activity) { var fromObjectId = activity.From?.Properties["aadObjectId"]?.ToString(); var fromTeamsId = activity.From?.Properties["id"]?.ToString(); var fromName = activity.From?.Properties["name"]?.ToString(); var clientInfoEntity = activity.Entities?.Where(e => e.Type == "clientInfo")?.FirstOrDefault(); var channelData = (JObject)activity.ChannelData;
var properties = new Dictionary<string, string> { { "ActivityId", activity.Id }, { "ActivityType", activity.Type }, { "ActivityName", activity.Name }, { "UserAadObjectId", fromObjectId }, { "UserName", string.IsNullOrEmpty(fromName)? "empty": fromName }, { "UserTeamsId", fromTeamsId }, { "ConversationType", string.IsNullOrWhiteSpace(activity.Conversation?.ConversationType) ? "personal" : activity.Conversation.ConversationType }, { "TeamId", channelData?["team"]?["id"]?.ToString() }, { "SourceName", channelData?["source"]?["name"]?.ToString() }, { "Locale", clientInfoEntity?.Properties["locale"]?.ToString() }, { "Platform", clientInfoEntity?.Properties["platform"]?.ToString() } }; this.telemetryClient.TrackEvent("UserActivity2", properties); }
but the userName is always empty. Can you please advise?
Hi Team,
we want to capture the MS team user info in app insights. I have added the code below but
private void LogActivityTelemetry(Activity activity) { var fromObjectId = activity.From?.Properties["aadObjectId"]?.ToString(); var fromTeamsId = activity.From?.Properties["id"]?.ToString(); var fromName = activity.From?.Properties["name"]?.ToString(); var clientInfoEntity = activity.Entities?.Where(e => e.Type == "clientInfo")?.FirstOrDefault(); var channelData = (JObject)activity.ChannelData;
but the userName is always empty. Can you please advise?