通过CSOM,可以设置属性包的值,即使没有租户权限。以下是一个示例代码,演示如何使用CSOM设置属性包的值:
using Microsoft.SharePoint.Client;
using Microsoft.SharePoint.Client.Taxonomy;
using System;
class Program
{
static void Main(string[] args)
{
string siteUrl = "https://your-site-url";
string username = "username";
string password = "password";
string termSetName = "Term Set Name";
string termName = "Term Name";
string propertyName = "Property Name";
string propertyValue = "Property Value";
using (ClientContext context = new ClientContext(siteUrl))
{
// 设置凭据
context.Credentials = new SharePointOnlineCredentials(username, ConvertToSecureString(password));
// 获取站点的TaxonomySession
TaxonomySession taxonomySession = TaxonomySession.GetTaxonomySession(context);
// 获取Term Store
TermStore termStore = taxonomySession.GetDefaultSiteCollectionTermStore();
// 获取Term Set
TermSet termSet = termStore.GetTermSetsByName(termSetName, 1033).FirstOrDefault();
// 获取Term
Term term = termSet.GetTermsByName(termName, true).FirstOrDefault();
// 设置属性包的属性值
term.SetCustomProperty(propertyName, propertyValue);
termStore.CommitAll();
// 执行CSOM操作
context.ExecuteQuery();
Console.WriteLine("属性包的值已成功设置。");
}
}
// 将字符串转换为SecureString
private static System.Security.SecureString ConvertToSecureString(string password)
{
System.Security.SecureString securePassword = new System.Security.SecureString();
foreach (char c in password)
{
securePassword.AppendChar(c);
}
return securePassword;
}
}
请确保替换示例代码中的以下值:
siteUrl
:您的网站的URL。username
:您的用户名。password
:您的密码。termSetName
:属性包所在的Term Set的名称。termName
:属性包的名称。propertyName
:要设置的属性名称。propertyValue
:要设置的属性值。在执行代码之前,请确保已添加必要的引用和命名空间。此外,您需要安装Microsoft.SharePointOnline.CSOM
包来使用CSOM。