我有一个用C#编写的控制台应用程序,需要从SharePoint站点获取一些信息。这个SharePoint实例是Office 365的一部分(即SharePoint Online)。
我的挑战是,我不能使用助手库,必须使用基于REST的API,因为我使用的是.NET Core。
首先,我在Azure Active Directory中注册了我的控制台应用程序。这个控制台应用程序是在我Office 365环境所在的Azure Active Directory中创建的。我还向我的控制台应用程序授予了“读取所有网站集合中的项目”的委派权限,以便使用“Office 365 SharePoint Online”API。
在我的情况下,我有一个运行在服务器上的控制台应用程序。我已经在我的SharePoint租户上设置了一个测试用户,具有用户名/密码。我还拥有我在Azure Active Directory中注册的控制台应用程序的客户端ID和重定向URL。
此时,我有一些类似以下代码的代码:
var accessToken = await GetToken(); // retrieves a token from Active Directory
using(var client = new HttpClient()) {
client
.DefaultRequestHeaders
.Clear();
client
.DefaultRequestHeaders
.Authorization = new AuthenticationHeaderValue("Bearer", accessToken);
client
.DefaultRequestHeaders
.Accept
.Add(new MediaTypeWithQualityHeaderValue("application/json"));
var apiUrl = "https://[mySite].sharepoint.com/_api/web";
// how do I get the title of the site at the apiUrl variable?
}
我感觉很接近了,因为我已经获得了访问令牌。但是我似乎无法弄清楚如何获取网站的标题。我该如何从我的C#代码中获取SharePoint网站的标题?