2

javascript と rest api を使用して、リストに対するユーザー レベルのアクセス許可を取得するために、sharepoint でホストされるアプリを実装しました。ここに私のコードがあります、

'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