Webサービスを介してSharepointと対話するときは、ドメイン\ユーザー名が必要です。例:Sharepointとの対話方法:フルネームのみを取得した場合
UserProfileService.GetUserProfileByName(string accountName)
accountNameはdomain \ user nameである必要があります。
フルネーム(FirstName LastName)のみの場合は、SharePointと通信することはできますか? フルネームをdomain \ user nameに変換する方法はありますか? ドメイン\ユーザー名は唯一の方法ですか?
ありがとうございます。 :)
ありがとうございました。 :)
コードは次のようになります。
using System.DirectoryServices;
const string ADPATH = "LDAP://myLDAPserver,validUserforAD";
const string USERNAME = "myDomain\\myUserName";
const string PASSWORD = "myPassword";
const string DOMAIN = "myDomain\\";
public static DirectoryEntry GetDirectoryObject()
{
DirectoryEntry directoryObject = new DirectoryEntry(ADPATH, USERNAME, PASSWORD, AuthenticationTypes.Secure);
return directoryObject;
}
public string GetUserNameByCompleteName(string completeName)
{
DirectoryEntry adObject = GetDirectoryObject();
//filter based on complete name
DirectorySearcher searcher = new DirectorySearcher(adObject);
searcher.Filter = "displayname=" + completeName;
SearchResult result = searcher.FindOne();
DirectoryEntry userInfo = result.GetDirectoryEntry();
//getting user name
string userName = (string)userInfo.Properties["samaccountname"].Value ?? string.Empty;
userInfo.Close();
adObject.Close();
return DOMAIN + userName;
}
ありがとうございます。それはうまくいく。 – ira