Как написать пользовательское поле Hyperlink в списке SharePoint с использованием API GraphC#

Место общения программистов C#
Ответить
Anonymous
 Как написать пользовательское поле Hyperlink в списке SharePoint с использованием API Graph

Сообщение Anonymous »

Я пытаюсь обновить список SharePoint. Точнее, поля Hyperlink Custom. Я могу прочитать url , тогда я получаю:

Код: Выделить всё

Description: "http://x.y"
Url: "http://x.y"
Я также могу написать любое поле server , так как это скалярная строка. Я пробовал как с капитализированными, так и с не капитализированными именами для клавиш untypedObject .
Мой код заключается в следующем:

Код: Выделить всё

var options = new InteractiveBrowserCredentialOptions
{
TenantId = tenantId,
ClientId = clientId,
AuthorityHost = AzureAuthorityHosts.AzurePublicCloud,
RedirectUri = new Uri("http://localhost")
};

var interactiveCredential = new InteractiveBrowserCredential(options);

var graphClient = new GraphServiceClient(interactiveCredential, scopes);

var items = await graphClient
.Sites[siteId]
.Lists[listId]
.Items
.GetAsync(requestConfiguration =>
{
requestConfiguration.QueryParameters.Expand = new[] { "fields" };
requestConfiguration.QueryParameters.Top = 100;
});

foreach (var item in items.Value)
{
var fields = item.Fields?.AdditionalData;

if (fields == null) continue;

if (fields.TryGetValue("URL", out var _url) && _url is UntypedObject uo) // testing read
{
foreach (var (name, node) in uo.GetValue())
{
var scalarAsString = await KiotaJsonSerializer.SerializeAsStringAsync(node);
$"{name}: {scalarAsString}".Dump();
}

continue;
}

var table = new UntypedObject(new Dictionary
{
["url"] = new UntypedString("whateverurl"),
["description"] = new UntypedString("whatevertext"),
});

var updateFields = new FieldValueSet
{
AdditionalData = new Dictionary
{
["URL"] = table,
["Server"] = "whatever" // this on its own works
}
};

await graphClient
.Sites[siteId]
.Lists[listId]
.Items[item.Id]
.Fields
.PatchAsync(updateFields);
}
Запрос и ответ:

, кажется, не связано, но решения там тоже нет: решение: Решение тоже: Решение: https://github.com/microsoftgraph/msgra ... ssions/687> Запустил Github Выпуск: https://github.com/microsoftgraph/msgra ... ssues/2957
pr> pr> abletment: piasues/2957, С тех пор не поддерживается, это стыдно быть прямым: https://learn.microsoft.com/en-us/answe ... link-colum! https://learn.microsoft.com/en-us/share ... ?tabs=csom

Подробнее здесь: https://stackoverflow.com/questions/797 ... g-graphapi
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»