【问题标题】:Can I deploy a SharePoint Add-In with User Profiles (Social) | Read to the SharePoint AppStore?我可以使用用户配置文件(社交)部署 SharePoint 加载项吗?阅读 SharePoint AppStore?
【发布时间】:2017-02-14 08:08:00
【问题描述】:

我希望能够使用类似于以下的代码以编程方式检索用户名和经理:

    using (var clientContext = TokenHelper.GetClientContextWithAccessToken(hostWeb.ToString(), accessToken))
    {
        var peopleManager = new PeopleManager(clientContext);
        var personProperties = peopleManager.GetPropertiesFor(loginName);
        clientContext.Load(personProperties);
        clientContext.ExecuteQuery();
        property = personProperties.UserProfileProperties[requestedProperty].ToString();
        return property;
    }

在没有User Profiles (Social) 权限的应用上,我在ExecuteQuery() 上收到拒绝访问。我假设您需要应用程序的User Profiles (Social) | Read 权限才能执行此操作。我试图在开发网站上加载具有此权限的应用程序,并被告知我需要成为租户管理员,现在我怀疑此权限是否对基于商店的应用程序有效。

是否可以在 SharePoint AppStore 上的应用程序中使用 PeopleManager 访问用户数据,例如 PreferredName 和 Manager?如果没有,是否可以使用 Microsoft Graph 以非交互方式访问这些数据?

【问题讨论】:

    标签: sharepoint sharepoint-online microsoft-graph-api sharepoint-apps sharepoint-addin


    【解决方案1】:

    您可以使用 Microsoft Graph 获取此数据,使用简单的查询(如 https://graph.microsoft.com/v1.0/me 获取当前用户配置文件和 https://graph.microsoft.com/v1.0/me/manager 获取经理)。您可以在此处找到 Microsoft Graph .Net SDK 的代码示例:https://github.com/microsoftgraph/aspnet-snippets-sample

    【讨论】:

    • 获取像 /me 和 /me/manager 这样的属性意味着一个交互式登录过程。我需要在用户无需登录的情况下获取用户数据(经理、全名)。我已经完成了那个 GitHub 项目,但据我所知,它没有提供在没有用户登录的情况下获取这些数据的方法。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-01-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多