如何从用户警报中获取用户详细信息 [英] How to get user details from users alerts

查看:73
本文介绍了如何从用户警报中获取用户详细信息的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我创建了一个博客,并且来自org的用户都可以通过单击站点上的Alert Me功能来进行订阅.我想知道如何在csv或xsxl或记事本中进行报告.

我可以从站点设置>>中查看用户信息.网站管理下的用户警报.但我想将其作为报告.

我们是365的SharePoint Online

致谢

柴塔尼亚

解决方案

Chaitanya,

对于SharePoint Online,我们可以使用CSOM C#获取所有用户警报.

使用Visual Studio创建控制台应用程序,然后在解决方案中安装Microsoft.SharePointOnline.CSOM.

https://www.nuget.org/packages/Microsoft.SharePointOnline.CSOM

然后请参考下面的代码来实现它.

字符串targetSiteURL = @"https://xxx.sharepoint.com/sites/dennis";

var login ="dennis@xxx.onmicrosoft.com";
var password ="xxx";

var securePassword = new SecureString();

foreach(密码中的字符c)
{
securePassword.AppendChar(c);
}
SharePointOnlineCredentials onlineCredentials =新的SharePointOnlineCredentials(login,securePassword);

ClientContext ctx = new ClientContext(targetSiteURL);
ctx.Credentials = onlineCredentials;

var users = ctx.Web.SiteUsers;
ctx.Load(用户);
ctx.ExecuteQuery();

var csv = new StringBuilder();
foreach(用户中的var用户)
{
var alerts = user.Alerts;
ctx.Load(alerts);
ctx.ExecuteQuery();
if(alerts.Count> 0)
{
csv.AppendLine(string.Format(显示{0}({1})的警报",user.Title,user.LoginName));
foreach(警报中的var警报)
{
csv.AppendLine(string.Format(频率​​:{0},传递方法:{1},AlertName:{2}",alert.AlertFrequency,alert.DeliveryChannels,alert.Title));
}
}
}
System.IO.File.WriteAllText("C:\\ Alerts \\ alerts.csv",csv.ToString()); 

最好的问候,

丹尼斯


Hi,

I have created a blog and users from org are able to subscribe by clicking Alert Me feature on the site. I would like to know  how to take report of it in either csv or xsxl or notepad.

I can see the users information from site settings >> user alerts under site administration. But i want to have it as a report.

Our is SharePoint Online of 365

regards

Chaitanya

解决方案

Hi Chaitanya,

For SharePoint Online, we can use CSOM C# to get all the users alerts.

Create a console application using Visual Studio and install Microsoft.SharePointOnline.CSOM in your solution.

https://www.nuget.org/packages/Microsoft.SharePointOnline.CSOM

Then refer to the code below to achieve it.

string targetSiteURL = @"https://xxx.sharepoint.com/sites/dennis";

var login = "dennis@xxx.onmicrosoft.com";
var password = "xxx";

var securePassword = new SecureString();

foreach (char c in password)
{
	securePassword.AppendChar(c);
}
SharePointOnlineCredentials onlineCredentials = new SharePointOnlineCredentials(login, securePassword);

ClientContext ctx = new ClientContext(targetSiteURL);
ctx.Credentials = onlineCredentials;

var users = ctx.Web.SiteUsers;
ctx.Load(users);
ctx.ExecuteQuery();

var csv = new StringBuilder();
foreach (var user in users)
{
	var alerts = user.Alerts;
	ctx.Load(alerts);
	ctx.ExecuteQuery();
	if(alerts.Count>0)
	{
		csv.AppendLine(string.Format("Display alerts for {0}({1})", user.Title, user.LoginName));
		foreach (var alert in alerts)
		{
			csv.AppendLine(string.Format("Frequency:{0}, Delivery Method(s):{1}, AlertName:{2}", alert.AlertFrequency, alert.DeliveryChannels, alert.Title));
		}
	}
}
System.IO.File.WriteAllText("C:\\Alerts\\alerts.csv", csv.ToString());

Best Regards,

Dennis


这篇关于如何从用户警报中获取用户详细信息的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆