WSS 3.0オブジェクトモデルを通じてSharepointのユーザーフォトでユーザーを取得しようとしています。私はソリューションのためにウェブをブラウズしてきましたが、これまでのところ私はそれを行う方法を見つけることができませんでした。それは可能なのか、それではどうすればよいのでしょうか?WSSオブジェクトモデルを使用してSPUserからユーザーの写真を取得する
答えて
はあなたのために仕事を得るのを助ける必要があるコードスニペットです。あなたは(...など、画像のURLが実際に存在を確認して、実際に存在するプロファイルを確保する)任意の例外を回避するためにいくつかの追加検証を行う必要がある場合があります。
//get current profile manager
UserProfileManager objUserProfileManager = new UserProfileManager(PortalContext.Current);
//get current users profile
UserProfile profile = objUserProfileManager.GetUserProfile(true);
//get user image URL
string imageUrl = (string)profile[PropertyConstants.PictureUrl];
//do something here with imageUrl
ああ、UserProfileManagerクラスを使用する必要があります。ここ 詳細情報:http://msdn.microsoft.com/en-us/library/microsoft.office.server.userprofiles.userprofilemanager.aspx
使用例:ここでは
public override void ItemAdded(SPItemEventProperties properties)
{
// Get list item on which the event occurred.
SPListItem item = properties.ListItem;
// Set the Author Image field to the user's PictureURL if it exists.
using (SPWeb web = properties.OpenWeb())
{
// Author: {C32DB804-FF2D-4656-A38A-B0394BA5C931}
SPFieldUserValue authorValue = new SPFieldUserValue(properties.OpenWeb(), item[new Guid("{C32DB804-FF2D-4656-A38A-B0394BA5C931}")].ToString());
UserProfileManager profileManager = new UserProfileManager(ServerContext.GetContext(web.Site));
UserProfile profile = profileManager.GetUserProfile(authorValue.LookupId);
UserProfileValueCollection values = profile[PropertyConstants.PictureUrl];
if (values.Count > 0)
{
// Author Image: {37A5CA4C-7621-44d7-BF3B-583F742CE52F}
SPFieldUrlValue urlValue = new SPFieldUrlValue(values.Value.ToString());
item[new Guid("{37A5CA4C-7621-44d7-BF3B-583F742CE52F}")] = urlValue.Url;
}
}
item.Update();
// News Text: {7F55A8F0-4555-46BC-B24C-222240B862AF}
//
// Author Image: {37A5CA4C-7621-44d7-BF3B-583F742CE52F}
//
// Publish Date: {45E84B8B-E161-46C6-AD51-27A42E4992B5}
//
}
あなたは厳密にWSS 3.0の話(とされていない場合MOSS)では、実際にグローバルユーザープロファイル自体は持っていませんが、各サイトコレクションのユーザー情報リストは隠されています。つまり、Microsoft.Office.Serverの名前空間に含まれるものはどれも使用できません。
ただし、ユーザーの画像のURLを知っている限り、ユーザー情報リストをプログラムで更新することはできます。何らかの昇格された権限で実行している限り、ほかのSharePointリストと同様にmanipulate this listにアクセスできるはずです。このリストはサイトコレクションの範囲にのみ適しているので、写真URLを実際に作成するには、ユーザーがこの場所を同じ場所に更新する必要があります。 Plusユーザーは、あるユーザーが何らかの権限をユーザーに割り当てるまでユーザー情報リストには入っていないので、ドメイン内のすべてのユーザーがそこにいるわけではありません。
これを処理する明確な方法は間違いなくユーザープロファイルメカニズムがMOSSですが、これがオプションの場合は、MOSS VS WSSについて質問するために質問を実際に更新する必要があります。
- 1. instagramからすべてのユーザーの写真を取得
- 2. イメージピッカーを使用して写真ライブラリから写真を取得しようとするとアプリケーションがクラッシュする
- 3. Twitterユーザー用のJSONを取得するユーザーの写真
- 4. PHPを使用してユーザーのFacebook写真を取得する際の問題
- 5. c#Microsoft Graph APIを使用してOffice 365ユーザーの写真を取得する
- 6. プロフィール写真のサイズでユーザーの写真を取得
- 7. ドライブAPIを使用して写真のタイムスタンプを取得する
- 8. ログインなしでfacebook APIを使用してユーザーの写真を取得
- 9. JSを使用してGoogle Contacts APIから写真を取得する方法
- 10. 角2/4コンピュータから写真を取得して写真を表示
- 11. Instagram:ユーザーとタグで写真を取得
- 12. 写真IDからFacebook写真を取得
- 13. Googleマップから所有者がアップロードした写真やユーザーがアップロードした写真を取得する
- 14. ウェブから写真を取得WebViewの
- 15. FacebookのグラフAPIを使用して投稿から写真を取得
- 16. Firebaseから写真をアップロードして取得する
- 17. 写真の情報を取得する方法写真ライブラリのiphoneから?
- 18. googlemapsを使用して住所の写真を取得
- 19. AVCapturePhotoCaptureDelegateから写真データを取得
- 20. Googleマップから写真を取得
- 21. mysqlデータベースからZendを使って写真を保存して取得する
- 22. Facebook拡張ページトークンを使用してInstagramからパブリック写真を取得
- 23. コンタクト写真を取得しますか?
- 24. Facebookの写真の写真アルバムを取得する
- 25. 青写真青写真のCSSを使用して、他のクラス
- 26. GeoDataApiを使用してある場所の写真を取得するには?
- 27. Firebase Storageからすべての写真名を取得
- 28. TLSharpの使用UserProfilePhotoの写真を取得するには?
- 29. FacebookのグラフAPIを使用してアルバムの写真を取得するには?
- 30. facebookページネーションを使用してユーザーの写真を表示
profile [PropertyContants.PictureURL]はコレクションを返します。コレクションから値を取得する必要があるため、文字列に直接キャストすることはできません。 –
これはMOSSでのみ機能します.WSS自体には、プロファイルマネージャサービスまたはクラスが含まれていません。 –