我试图通过CSOM从Office365的Sharepoint门户连接和检索一个列表。在jquery的document.ready函数中,我调用了一个ajax调用,我正在使用下面的代码,它的工作正常。
[WebMethod]
public static List<myClass> GetDataOnPageLoad()
{
List<myClass> objmyClass = new List<myClass>();
string strSiteCollection = "<Site Url>";
string login = "<username>";
string password = "<password>";
SecureString securePassword = new SecureString();
foreach (char c in password)
securePassword.AppendChar(c);
try
{
ClientContext Clientcontext = new ClientContext(strSiteCollection);
Clientcontext.Credentials = new SharePointOnlineCredentials(login, securePassword);
DataTable dtData = new DataTable();
dtData.Columns.Add("ID", typeof(string));
dtData.Columns.Add("UserEmail", typeof(string));
dtData.Columns.Add("InstalledVersion", typeof(string));
if (Clientcontext != null)
{
List docList = Clientcontext.Web.Lists.GetByTitle("<List Name>");
Microsoft.SharePoint.Client.ListItemCollection items = docList.GetItems(CamlQuery.CreateAllItemsQuery());
Clientcontext.Load(items);
Clientcontext.ExecuteQuery();
foreach (var item in items)
dtData.Rows.Add(item["ID"].ToString(), item["UserEmail"].ToString(), item["InstalledVersion"].ToString());
}
if (dtData != null && dtData.Rows.Count > 0)
{
for (int i = 0; i < dtData.Rows.Count; i++)
{
//binding list
}
}
}
catch (Exception ex)
{
}
return objmyClass;
}
到现在为止一切正常。
现在,我在另一个项目中,我需要这个相同的代码.所以我复制它,并粘贴在新的项目。包括sharepoint客户端dll。从ajax调用这个。现在,当我运行这个新项目,它给出了一个异常从客户端context.ExecuteQuery();异常说。伙伴返回了一个不好的登录名或密码错误。更多信息,请参见Federation Error-handling Scenarios。
我搜索了这个错误,但没有帮助。我将两个项目并排运行。旧的项目运行得很好,但新的项目却出现了上述错误,请大家帮忙。谢谢& Regards。