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 (見つかりません) のステータスで応答しました。
誰でも問題を解決するための解決策を提供してください。