C#SharePoint Online远程身份验证

时间:2017-05-16 22:20:58

标签: c# rest authentication sharepoint

我正在尝试在Azure.Net C#中远程更新SharePoint Online数据(或自托管)并且更愿意使用JSON。我试图找到如何执行身份验证 - 我想,一旦我有了我,其余的将是非常直接的。我查看了很多MS文档和博客,但似乎都没有提供如何进行身份验证的好例子。例如:

SharePoint Online authentication failure使用Web请求和SOAP数据

SharePoint Online: Authenticating.NET Client Object Model in Office 365这似乎是使用NuGet包

Get to know the SharePoint REST service使用带有OData的REST API(但我没有找到好的Authenticate示例)

  1. 是否有标准(且简单)的身份验证方式?
  2. SharePoint帐户是否需要提供用户/密码
  3. 我可能遗漏了一些东西 - 看起来像一个带有Authenticate的简单Rest API就足够了?如果有人知道一个好的网站,那里有一个很棒的例子。

1 个答案:

答案 0 :(得分:4)

有许多方法可以建立身份验证部分,但最简单的方法是通过租户管理员凭据:

将租户管理员用户名和密码添加到SharePoint客户端上下文。我认为以下代码可以帮助您 - >

string  _userName="<user email>";
 _securePassword = GetSecureString("<password>");
 _clientContext.Credentials = new SharePointOnlineCredentials(_userName, _securePassword);

将密码作为安全字符串获取的功能

 private static SecureString GetSecureString(String password)
    {
        SecureString securePassword = new SecureString();

        foreach (Char c in password.ToCharArray())
        {
            securePassword.AppendChar(c);
        }
        return securePassword;
    }