首页 > 解决方案 > 帐户密码已过期,由帐户设置指定

问题描述

我有一个连接到 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#asp.netsharepoint-onlinecsom

解决方案


推荐阅读