Office365 REST API запрос для добавления гиперссылки в список? ClientServiceException Невозможно десериализовать данные для типа Microsoft.SharePoint.SPFieldUrlValue - PullRequest
0 голосов
/ 14 января 2020

Я использую официальный API Office 365 REST для извлечения элементов из списков, а также для загрузки файлов в Sharepoint и Onedrive https://github.com/vgrem/Office365-REST-Python-Client/blob/master/examples/sharepoint/listitem_operations.py

В настоящее время я пытаюсь найти способ включить вложения в мой список Sharepoint, и я пытаюсь сделать, чтобы вставить веб-URL в мой список. Однако, поскольку это тип гиперссылки, я получаю сообщение об ошибке исключения: 1006 *

Я знаю, что для прямого запроса он должен выглядеть примерно так:

'__metadata': {'type': 'SP.Data.TasksListItem'},
{Url: 'http://google.com', Description: 'This is the description'}

Есть ли способ более правильно отформатировать запрос API, чтобы я мог правильно загрузить ссылку? Или есть способ загрузить элемент в виде текста и показать его в Sharepoint в виде кликабельной гиперссылки?

Редактировать: просто чтобы уточнить, эта функция используется для обновления элементов списка:

def update_list_item(lst, row_id, column, value):
    print("Update list item example...")
    list_object = ctx.web.lists.get_by_title(lst)
    item_id = str(row_id)
    item = list_object.get_item_by_id(item_id)
    item.set_property(column, str(value))
    item.set_property('Key', 'Value')
    item.update()
    ctx.execute_query()
    print("List item '{0}' has been updated.".format(item_id))

1 Ответ

0 голосов
/ 14 января 2020

Попробуйте использовать это:

    '__metadata': { 'type': 'SP.Data.TasksListItem' },
    'Field': 
            {
                '__metadata': { 'type': 'SP.FieldUrlValue' },
                'Description': 'This is the description',
                'Url': 'http://google.com'
            }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...