CSOM 및 관리 메타 데이터 필드
-
10-12-2019 - |
문제
SharePoint 2013의 클라이언트 측 개체 모델을 사용하여 관리되는 메타 데이터 필드를 읽으려고하지만 NULL 결과를 얻으려면
사이트 열을 살펴볼 때 반환 해야하는 "groupName"열 그룹에 5 개의 필드가 있습니다.
- 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 (screenshot 참조)
이상한 것은 각 메타 데이터 필드에 대한 결과가 있지만 값은
null
입니다.-
쿼리가 예상대로 5 개의 항목을 반환하는지 확인하십시오
-
관리되는 메타 데이터 열의 필드의 내부 이름을 가져옵니다
-
해결책 2
잘못된 SharePoint 참조가 잘못되었음을 꺼냅니다.
SharePoint 2010을 개발하기 시작했지만 개발 기간 동안 서버가 SharePoint 2013으로 업데이트되었습니다. 이렇게하면 내 프로젝트의 참조가 14 개 하이브 DLL과 관련이있었습니다.이를 위해이를 업데이트하여 15 개 하이브 DLL을 사용하여 필드가 올바르게 검색되는 필드가 올바르게 검색됩니다
다른 팁
관리되는 메타 데이터 서비스에 액세스하려면 충분한 사용 권한 (적어도 읽기 에 대한 읽기 액세스 권한)이 있는지 확인하십시오. "Nofollow"> 관리되는 메타 데이터에 액세스 할 수있는 권한 부여 권한세부 정보를 위해 서비스 .
또는 관리되는 메타 데이터 열의 필드 필드의 내부 이름을 쿼리하기 위해 SharePoint REST 서비스를 활용할 수 있습니다.
./_api/web/fields?$select=InternalName&$filter=TypeDisplayName eq 'Managed Metadata'