gpt4 book ai didi

c# - 从控制台应用程序获取 SharePoint 站点的标题

转载 作者:可可西里 更新时间:2023-11-01 09:13:28 25 4
gpt4 key购买 nike

我有一个用 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?
}

自从我获得了访问 token 后,我觉得我很接近了。我似乎无法弄清楚如何获得该网站的标题。如何从我的 C# 代码中获取 SharePoint 网站的标题?

最佳答案

SharePoint REST API 的 web resource包括 Title表示网站标题的属性。

调用:

GET http://<site url>/_api/web/title

返回:

<d:Title xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" 
xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"
xmlns:georss="http://www.georss.org/georss"
xmlns:gml="http://www.opengis.net/gml">Site Title Goes Here</d:Title>

或者,假设您已将 Accept header 设置为 application/json:

{
"odata.metadata":
"https://microsoft.sharepoint.com/sites/msw/_api/$metadata#Edm.String",
"value": "MSW"
}

关于c# - 从控制台应用程序获取 SharePoint 站点的标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50773780/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com