c# - 帐户密码已过期,由帐户设置指定
问题描述
我有一个连接到 SharePoint 在线站点并检索数据的 asp.net 应用程序。这个功能几个月来一直运行良好。但是,从昨天开始,我开始看到以下错误,
帐户密码已过期,由帐户设置指定。
我验证了用于访问 SharePoint 在线站点的服务帐户,它很好。其密码已设置为不过期,并且服务帐户工作正常。我猜上述错误具有误导性。有人遇到过类似的问题吗?
代码:
public static async Task<HttpResponseMessage> SendAsync(HttpMethod httpMethod, string restUrl, string userName, string key, string acceptHeader)
{
Uri endpointUri = new Uri(restUrl);
var securePassword = new SecureString();
foreach (var keyChar in key)
{
securePassword.AppendChar(keyChar);
}
var credentials = new SharePointOnlineCredentials(userName, securePassword);
using (var handler = new HttpClientHandler() { Credentials = credentials })
{
handler.CookieContainer.SetCookies(endpointUri, credentials.GetAuthenticationCookie(endpointUri));
using (var client = new HttpClient(handler))
{
client.DefaultRequestHeaders.Accept.Clear();
if (!string.IsNullOrWhiteSpace(acceptHeader))
{
MediaTypeWithQualityHeaderValue mediaTypeWithQualityHeaderValue = MediaTypeWithQualityHeaderValue.Parse(acceptHeader);
client.DefaultRequestHeaders.Accept.Add(mediaTypeWithQualityHeaderValue);
}
return await client.GetAsync(endpointUri).ConfigureAwait(false);
}
}
}
我正在使用 Microsoft.SharePointOnline.CSOM 16.1.21213.12000
任何建议将不胜感激。
解决方案
推荐阅读
- c++ - 迭代 unordered_map 的复杂性是什么
- java - 通过JAVA将十六进制插入mysql?
- json - 将 REST API JSON 模式转换为 CQL Cassandra 模式
- javascript - TMDB API 元素未显示在屏幕上 - React
- python - Python 测试速率限制处理程序
- oracle - 使用 REFERENCES 的 Oracle Sql 表和查询
- c++ - CS 3861 未找到标识符错误
- chart.js - Chartjs 未从 vuex 映射状态读取数据
- node.js - 带有 node.js 的在线编译器
- java - 将列表从 JSON 对象存储到 java arraylist