comment récupérer la liste des utilisateurs qui ont marqué un élément de liste avec « I like it » tag
-
16-10-2019 - |
Question
je veux aller chercher tous les utilisateurs (programatically liste des utilisateurs) qui ont une taggés une liste personnalisée sharepoint 2010 article « i like it ».
mais je veux la liste des utilisateurs // sharepoint fournir cette fonctionnalité de la boîte dans l'admin central pour ce suivez ce lien
est-il possible de récupérer ces informations ?? programatically
Merci d'avance !!
La solution
Alors que je suis les gens affirmeront que sûr interrogeant la base sous quelque forme que n'est pas autorisé (à savoir Microsoft aura une incidence sur votre supportabilité), je les remettre en question à l'avance à quoi que ce soit produit officiellement de Microsoft avec une telle déclaration. Toutes sortes de choses sur l'insertion / modification / suppression de lignes dans les tableaux et la modification du régime, mais rien sur l'exécution d'une instruction select ou l'exécution d'une procédure stockée qui ne met pas à jour le contenu de la table de quelque façon.
Je vais dire que l'interrogation directement à la base est quelque chose qui devrait être fait par des gens qui a) comprendre SQL et comment il optimise les requêtes et b) comprendre le DM SharePoint. Vous ne voulez pas les gens à écrire des requêtes qui auront un impact négatif de mesurable sur la performance d'une ferme.
Avec cette renonciation de la route, il n'y a pas moyen OOB d'obtenir à ces données via une API publiée et soutenu que je suis au courant. Vous pouvez y accéder en enfilant quelques-unes des procédures stockées de la DB sociale ensemble, mais il est un peu encombrant. Ce qui suit est un Sélectionnez que vous obtiendrez la plupart du temps. Vous auriez encore besoin de le relier à votre profil DB pour résoudre le GUID à un nom de profil ... vous pouvez alternativement tzake le GUID et appeler UserProfileManager.GetUserProfile pour renvoyer une référence au profil et obtenir le nom de cette façon.
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
pas une solution parfaite, loin de l'imagination et qui exigera évidemment recertification si des correctifs, CU ou SPs sont installés.
Autres conseils
Dans le premier message, avez-vous essayé la liste énumérant List<SocialTermDetail>
pour voir ce qui est dans chaque objet dans la liste?
Dans ce magazine: http://www.diwug.nl/e- magazines / pages / default.aspx eMagazine # 4 J'ai écrit un article sur les SocialDataService, UserProfile, Utilisateurs et groupes et le service Web de recherche. Je suppose que cela vous aidera.