Вопрос

Я пытаюсь использовать модель объекта на стороне клиента SharePoint 2013 для прочтения поля управляемого метаданного данных, но я получаю нулевые результаты

Когда я смотрю в столбцы сайта, есть 5 полей в группе столбцов «GroupName», которая должна быть возвращена:

    .
  • 1 одна строка текстового поля
  • 4 управляемых поля метаданных

    Я использую этот C #, чтобы получить столбцы в группе:

    private void StackDemo(){
        string contextUrl = "http://mysitecollection/sites/mysite";
        string columnGroup = "GroupName";
        var ctx = new ClientContext(contextUrl)
        {
            Credentials = CredentialCache.DefaultCredentials
        };
        var query = ctx.LoadQuery(from x in ctx.Web.Fields where x.Group== columnGroup select x);
    
        ctx.ExecuteQuery();
        return query.FirstOrDefault();
    }
    
    .

    Когда я просматриваю результаты запросов, я могу просмотреть простое текстовое поле, но все другие поля NULL (см. Скриншот)

    Захват экрана

    Странная вещь - это результат для каждого поля метаданных, но значение является null.

    Я хочу

    1. Знаешь, почему я получаю ноль, даже если запрос возвращает 5 предметов, как и ожидалось,

    2. Получить внутренние имена поля управляемых метаданных столбцов

Это было полезно?

Решение 2

Оказывается, это был случай неверных ссылок SharePoint.

Я начал развиваться для SharePoint 2010, но в течение периода разработки сервер был обновлен до SharePoint 2013. Итак, ссылки в моем проекте были связаны с 14 DLL.Обновление их, чтобы использовать 15 DLL улей, привели к получению полей правильно

Другие советы

Убедитесь, что у вас достаточно разрешений (по крайней мере, чтение доступа к сроку хранилища ) для доступа к службе управляемых метаданных.Пожалуйста, ознакомьтесь с статьей Разрешение разрешения на доступ к Управляемым метаданнымСервис для деталей.

В качестве альтернативы вы можете использовать службу отдыха SharePoint, чтобы запросить полевые внутренние имена столбцов управляемых метаданных:

/_api/web/fields?$select=InternalName&$filter=TypeDisplayName eq 'Managed Metadata'
.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с sharepoint.stackexchange
scroll top