Как извлечь список пользователей, которые забрали элемент списка с тегом «Мне нравится»

sharepoint.stackexchange https://sharepoint.stackexchange.com/questions/10480

  •  16-10-2019
  •  | 
  •  

Вопрос

Я хочу программатически извлекать всех пользователей (список пользователей), у которых есть помеченный элемент SharePoint 2010 пользовательский список «мне это нравится».

В этом ветке показано, как получить счет пользователя, который пометил элемент списка с «мне это нравится»

Но я хочу, чтобы список пользователей // SharePoint предоставил эту функциональность из коробки в центральном администраторе Для этого перейдите по этой ссылке

Есть ли способ получить эту информацию программатически ??

заранее спасибо!!

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

Решение

Хотя я уверен, что люди утверждают, что запрос базы данных в любой форме не допускается (т.е. повлияет на вашу поддержку Microsoft), я буду оспаривать их заранее, чтобы официально произвести что -либо из Microsoft с таким заявлением. Все виды вещей при вставке/изменении/удалении строк в таблицы и изменение схемы, но ничего при выполнении оператора SELECT или выполнении хранимой процедуры, которая никоим образом не обновляет таблицу.

Я скажу, что непосредственное запрос базы данных - это то, что люди должны делать, что а) понимать SQL и как он оптимизирует запросы и б) понимать SharePoint DM. Вы не хотите, чтобы люди писали запросы, которые окажут измеримое негативное влияние на производительность фермы.

С этим отказом от ответственности, нет никаких средств добраться до этих данных через опубликованный и поддерживаемый API, о котором я знаю. Вы могли бы добраться до этого, собрав несколько сохраненных процедур социального DB, но это довольно громоздко. Ниже приведен выбор, который принесет вам большую часть пути. Вам по -прежнему нужно будет связать его с вашим профилем DB, чтобы разрешить GUID с именем профиля ... вы можете поочередно использовать GUID и позвонить userProfilEmanager.getUserProfile, чтобы вернуть ссылку на профиль и получить имя таким образом.

SELECT UserId
FROM [Social DB].[dbo].[SocialTags] st 
  Inner Join [Social DB].[dbo].[Urls] u 
    On u.UrlId = st.UrlId 
    and u.Url = 'http://sharepointdev:9000/Shared%20Documents/Content_viewing_2011-07-26T131806.xlsx' -- the encoded URL of the file you want to retrieve Like It info on
  Inner Join [Social DB].[dbo].[UserProfile_Validation] uv 
    On uv.User_RecordID = st.User_RecordID
Where
  InputTermLabel = 'I like it' -- or you can get the TermID for the "I Like It" tag and query against TermID

Не идеальное решение при каком-либо воображении, и это, очевидно, потребует повторной сертификации, если будут установлены какие-либо горячие постройки, Cu или SPS.

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

В первом посте вы пробовали перечислять List<SocialTermDetail> Список, чтобы увидеть, что в каждом объекте в списке?

В этом журнале: http://www.diwug.nl/e-magazines/pages/default.aspx Emagazine #4 Я написал статью о SocialdataService, UserProfile, пользователях и группах и поисковой веб -службе. Я думаю, это вам поможет.

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