0

コードを使用して、つまり SocialTagManager クラスを使用して、「I Like It」で URL にタグを付けようとしています。

SPServiceContext serviceContext = SPServiceContext.GetContext(SPContext.Current.Site);
SocialTagManager socialTagManager = new SocialTagManager(serviceContext);
UserProfileManager userProfileManager = new UserProfileManager(serviceContext);
UserProfile userProfile = userProfileManager.GetUserProfile(CurrentUser);
SocialTerm[] terms = socialTagManager.GetTerms(userProfile);
Term favTerm = (from t in terms
                            where (t.Term.Name.Equals("i like it", StringComparison.InvariantCultureIgnoreCase))
                            select t.Term).First();

socialTagManager.AddTag(new Uri(Url), favTerm, Title);

ただし、このためには、favTerm が SharePoint に既に存在している必要があります。ただし、ユーザーが以前に「いいね」でタグ付けしたページがない場合、GetTerms() または GetAllTerms() メソッドは「いいね」の用語を返しません。

I Like it Term がまだ存在しない場合、新しい Term を作成するにはどうすればよいですか?

前もって感謝します

4

1 に答える 1

-1

それがあなたが探しているものかどうかはよくわかりません。ただし、この記事http://msdn.microsoft.com/en-us/library/ff407956.aspxに示すように、プログラムでタグを作成できます

TaxonomySession taxSession = mySocialTagManager.TaxonomySession;
TermStore termStore = taxSession.DefaultKeywordsTermStore;
myTerm = termStore.KeywordsTermSet.CreateTerm("term", termStore.DefaultLanguage);
termStore.CommitAll();

しかし、Term が既に TermStore にある場合に直面しましたが、この用語はユーザー プロファイルの用語配列にまだ表示されていませんでした。

于 2012-09-18T15:49:02.570 に答える