Код: Выделить всё
async function createHyperlinkOrImage(sharePointAPIaccessToken, listId, columnName, isImage) {
const sharePointApiUrl = `${process.env.SITE_URL}/_api/web/lists(guid'${listId}')/fields`;
// FieldTypeKind = 11 => URL type
// DisplayFormat = 0 => Hyperlink, 1 => Image
const sharePointPayload = {
"__metadata": { "type": "SP.FieldUrl" },
"Title": columnName,
"FieldTypeKind": 11,
"DisplayFormat": isImage ? 1 : 0,
};
try {
const response = await fetch(sharePointApiUrl, {
method: "POST",
headers: {
Authorization: `Bearer ${sharePointAPIaccessToken}`,
Accept: "application/json;odata=verbose",
"Content-Type": "application/json;odata=verbose",
},
body: JSON.stringify(sharePointPayload),
});
// error handling
}
}
Слева — столбец, созданный с помощью REST API, справа — с помощью пользовательского интерфейса.
Один большой Разница, которая, я считаю, является причиной того, почему это происходит, заключается в том, что просматривая свойства столбцов, мы видим, что в столбце изображений, созданном REST API, не указан «тип».
При открытии настроек столбца я вижу следующее:

И для установки вручную столбец:

Наконец, я заметил, что не могу добавлять изображения напрямую, когда Страница добавления нового элемента:


Я не могу сказать, что Sharepoint распознает столбец, очевидно по значку изображения рядом со столбцом имя, оно должно отображаться как столбец изображения. Однако он ведет себя как столбец гиперссылок.
Спасибо!
Подробнее здесь: https://stackoverflow.com/questions/793 ... image-prev