• sharepoint获取用户属性


    1.通过Jsom获取用户属性

    
    

    <script type="text/javascript" src="/_layouts/15/sp.runtime.js"></script>
    <script type="text/javascript" src="/_layouts/15/sp.js"></script>
    <script type="text/javascript" src="/_layouts/15/SP.UserProfiles.js"></script>

    
    
    var currentUser,ctx,oweb,personProperties;
    function getUserpropery()
    { 
        ctx = new SP.ClientContext.get_current();
        oweb=ctx.get_web();
        currentUser=oweb.ensureUser("a84d4zz@mmm.com");
        ctx.load(currentUser);
        ctx.executeQueryAsync(onRequestSuccess,onRequestFail);
    }
    function onRequestSuccess()
    {
         var loginName=currentUser.get_loginName();
        console.log(loginName);
         var peopleManager = new SP.UserProfiles.PeopleManager(ctx);
         personProperties = peopleManager.getPropertiesFor(loginName); //获取指定用户
       //personProperties = peopleManager.getMyProperties(); 获取当前登录用户 clientContext.load(personProperties); clientContext.executeQueryAsync(
    function() { console.log(personProperties.get_userProfileProperties()["Manager"]); },function(){}); } function onRequestFail(sender, args) { console.log(args.get_message()); }

    2.通过Csom获取用户属性
    需要引用

    Microsoft.SharePoint.Client
    Microsoft.SharePoint.ClientRuntime
    Microsoft.SharePoint.Client.UserProfiles

    using Microsoft.SharePoint.Client;
    using Microsoft.SharePoint.Client.UserProfiles;
    
    namespace UserProfilesCSOM
    {
        class Program
        {
            static void Main(string[] args)
            {
                const string serverUrl = "http://serverName/";  
                const string targetUser = "domainName\\userName";  
                ClientContext clientContext = new ClientContext(serverUrl);
                PeopleManager peopleManager = new PeopleManager(clientContext);
                PersonProperties personProperties = peopleManager.GetPropertiesFor(targetUser);
                clientContext.Load(personProperties, p => p.AccountName, p => p.UserProfileProperties);
                clientContext.ExecuteQuery();
    
                foreach (var property in personProperties.UserProfileProperties)
                {
                    Console.WriteLine(string.Format("{0}: {1}", 
                        property.Key.ToString(), property.Value.ToString()));
                }
                Console.ReadKey(false);
    
            }
        }
    }

     3.通过Rest API获取用户属性
    http://siteurl/_api/SP.UserProfiles.PeopleManager/GetMyProperties

    $.ajax({  
    
            url: _spPageContextInfo.webAbsoluteUrl + "/_api/SP.UserProfiles.PeopleManager/GetMyProperties",  
         // url: _spPageContextInfo.webAbsoluteUrl + "/_api/SP.UserProfiles.PeopleManager/GetPropertiesFor('i:0#.f|membership|account@domin')" headers: { Accept:
    "application/json;odata=verbose" }, success: function (data) { try { var properties=data.d.UserProfileProperties.results; properties.forEach(function(result){ if(result.Key =="Manager") console.log(result.Value); }) } catch (err) { //alert(JSON.stringify(err)); } }, error: function (errorThrown) { alert(errorThrown); } });

    更多详细内容可以参照:https://docs.microsoft.com/en-us/sharepoint/dev/general-development/work-with-user-profiles-in-sharepoint



  • 相关阅读:
    Java 1 (JVM、JRE、JDK之间的关系)
    Java 0 (jdk下载安装及环境配置)
    推荐之链接
    idea 2019激活码
    Mock数据使用的Util
    mybatis慢查询配置
    logback参考配置
    Linux网络实时监控配置
    jmeter插件JMeterPlugins-Standard 压力测试
    ZoneDateTime 转换Date
  • 原文地址:https://www.cnblogs.com/learning-life/p/10730890.html
Copyright © 2020-2023  润新知