2

我已经实现了 sharepoint 托管应用程序,用于使用 javascript 和 rest api 获取列表上的用户级别权限。这是我的代码,

'use strict';
var hostweburl;
var appweburl;

var context = SP.ClientContext.get_current();
var user = context.get_web().get_currentUser();

// This code runs when the DOM is ready and creates a context object which is needed to use the SharePoint object model
$(document).ready(function () {
    hostweburl = _spPageContextInfo.siteAbsoluteUrl;
    appweburl = _spPageContextInfo.siteServerRelativeUrl;
    alert(hostweburl);
    alert(appweburl);
    getListUserEffectivePermissions();
});

function getListUserEffectivePermissions() {
    var listTitle = 'MyList_Deepa';
    //var account = 'i%3A0%23.f%7Cmembership%7Cuser%40abhishek@sarasamerica.com&@target=';

    var endpointUrl = "'" + appweburl + "'/_api/SP.AppContextSite(@target)/web/lists/getbytitle('" + listTitle + "')/getusereffectivepermissions(@user)?@user='i%3A0%23.f%7Cmembership%7Cuser%40abhishek@sarasamerica.com&@target='" + hostweburl + "'";

    //var endpointUrl = _spPageContextInfo.webAbsoluteUrl + "/_api/web/lists/getbytitle('" + MyList_Deepa + "')/getusereffectivepermissions(@u)?@u='" + encodeURIComponent(account) + "'";;
    return $.ajax({
        url: endpointUrl,
        dataType: 'json',
        headers: {
            "accep": "application/json;odata=verbose",
            "X-RequestDigest": $("#_REQUESTDIGEST").val()
        }
    });
}

function parseBasePermissions(value) {
    var permissions = new SP.BasePermissions();
    permissions.initPropertiesFromJson(value);
    var permLevels = [];
    for (var permLevelName in SP.PermissionKind.prototype) {
        if (SP.PermissionKind.hasOwnProperty(permLevelName)) {
            var permLevel = SP.PermissionKind.parse(permLevelName);
            if (permissions.has(permLevel)) {
                permLevels.push(permLevelName);
            }
        }
    }
    return permLevels;
}

getListUserEffectivePermissions().done(function (data) {
    var roles = parseBasePermissions(data.d.GetUserEffectivePermissions);
    console.log(roles);
});

错误:加载资源失败:服务器响应状态为 404(未找到)。

请任何人都可以提供解决方案来解决问题。

4

0 回答 0