Не удается обновить поле управляемых метаданных Sharepoint из Microsoft Graph Explorer - PullRequest
6 голосов
/ 07 марта 2019

Я пытаюсь обновить поля, связанные с элементом списка, через Graph Explorer, https://developer.microsoft.com/en-us/graph/graph-explorer (или вызов REST API). Для одного из полей его значением может быть один элемент из набора терминов (управляемые метаданные). Я вижу каждый из элементов в наборе терминов и получаю каждый термин, когда я посещаю https://XXX.sharepoint.com/Lists/TaxonomyHiddenList/AllItems.aspx.

Я пытаюсь сделать запрос PATCH с URL-адресом типа https://graph.microsoft.com/beta/sites/XXX.sharepoint.com,FOO,BAR/drive/root/children/Test%20Document.txt/listItem/fields (или https://graph.microsoft.com/v1.0/sites/XXX.sharepoint.com,FOO,BAR/drive/list/items/1/fields), чтобы определить поля, связанные с конкретным элементом

Чтобы обновить поле CakeType, я установил тело запроса следующим образом:

{
    "CakeType": {
        "Label": "Apple",
        "TermGuid": "3a3ad73f-94ca-4d1e-a25c-XXXX",
        "WssId": -1
    }
}

Когда я затем нажимаю кнопку «Выполнить запрос», я получаю исключение InvalidClientQueryException с сообщением «Обнаружено значение без имени типа, а ожидаемый тип недоступен. Когда указана модель, каждое значение в полезной нагрузке должно иметь тип, который может быть либо указан в полезной нагрузке, явно вызывающим или неявно выведен из родительского значения. "

Итак, я пытался выяснить, какой тип данных указывать и как ... В различных примерах в Интернете я видел добавление поля с именем __metadata и других, добавляющих @ odata.type, например CakeType @ odata. введите для случая здесь. Я попытался добавить эти строки в CakeType JSON и вне его, для всей структуры. Ни один не работал ...

{
    "CakeType": {
        "__metadata" : {"type" : "SP.Taxonomy.TaxonomyFieldValue" },
        "Label": "Apple",
        "TermGuid": "3a3ad73f-94ca-4d1e-a25c-XXXX",
        "WssId": -1
    }
}

или

{
    "__metadata" : {"type" : "SP.Taxonomy.TaxonomyFieldValue" },
    "CakeType": {
        "Label": "Apple",
        "TermGuid": "3a3ad73f-94ca-4d1e-a25c-XXXX",
        "WssId": -1
    }
}

Я также пытался использовать имя поля в типе, который, как мне показалось, я где-то видел ...

"__metadata" : {"type" : "SP.Data.CakeType" },

и попробовал

"CakeType@odata.type" : "SP.Taxonomy.TaxonomyFieldValue" ,
"CakeType@odata.type" : "SP.Data.CakeType",
"@odata.type" : "SP.Taxonomy.TaxonomyFieldValue" ,

Единственное, что выдало другое сообщение об ошибке, это когда я поместил «CakeType@odata.type»: «SP.Taxonomy.TaxonomyFieldValue», сразу после открытия {или без части CakeType внутри CakeType ...

{
    "CakeType@odata.type" : "SP.Taxonomy.TaxonomyFieldValue" ,
    "CakeType": {
        "Label": "Apple",
        "TermGuid": "3a3ad73f-94ca-4d1e-a25c-XXXX",
        "WssId": -1
    }
}

и

{
    "CakeType": {
        "@odata.type" : "SP.Taxonomy.TaxonomyFieldValue" ,
        "Label": "Apple",
        "TermGuid": "3a3ad73f-94ca-4d1e-a25c-XXXXX",
        "WssId": -1
    }
}

Каждый из них выдавал ошибку «Тип с именем« SP.Taxonomy.TaxonomyFieldValue »не может быть разрешен моделью. Когда модель доступна, каждое имя типа должно разрешаться в допустимый тип».

Это заставляет меня думать, что у меня правильное имя поля, но неправильный тип ...

Итак ... что я должен называть типом, чтобы я мог обновить поле управляемых метаданных? или ... каким должен быть JSON, если указанная выше структура слишком далека ... или как я могу обновить поле строго, используя Graph API.

Спасибо.

Я подумал, что поиск расширений схемы может помочь (GET https://graph.microsoft.com/v1.0/schemaExtensions), но это не ...

В конечном итоге я пытаюсь обновить поле управляемых метаданных из Java с помощью классов в com.microsoft.graph .... так что, если я смогу найти нужные вещи с помощью Graph Explorer, я смогу перейти к Джава. Я видел несколько примеров таких в других языках, но не могу найти правильный способ сделать то же самое в Java.

1 Ответ

0 голосов
/ 19 июля 2019

У меня возникла та же проблема, и я нашел ее: https://microsoftgraph.uservoice.com/forums/920506-microsoft-graph-feature-requests/suggestions/33421180-support-for-setting-sharepoint-managed-metadata-t

Запрос функции:

Поддержка установки значений столбцов управляемых метаданных (таксономии) SharePoint и других сложныхтипы столбцов для элементов с помощью API Graph

Ответ:

Спасибо за отзыв!Эта работа находится в отставании и в настоящее время не запланирована.Функция будет обновлена ​​здесь после начала разработки.-EY

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...