Надстройка Sharepoint: Как проверить, что текущий пользователь является администратором сайта в размещенной сети

Я пытаюсь проверить, что текущий пользователь является администратором сайта в размещенной сети из моей надстройки sharepoint.

Вот мой код:

    function execCrossDomainRequest() {
    executor.executeAsync(
        {
            url: appweburl + "/_api/SP.AppContextSite(@target)/web/currentuser/issiteadmin(@v)?@target='" + hostweburl + "'",
            method: "GET",
            headers: { "Accept": "application/json; odata=verbose" },
            success: function (data) {
                var jsonObject = JSON.parse(data.body);
                isAdminSite = jsonObject.d.issiteadmin; 
                if (isAdminSite) {
                    $("#divSetting").show();
                }
                else {
                    $("#divSetting").remove();
                }
            },
            error: function (data) {
                $("#divSetting").remove();
            }
        }
    );
}

Это всегда возвращает ложь.

Если я не прошу разрешения полного контроля:

 <AppPermissionRequests AllowAppOnlyPolicy="false">
<AppPermissionRequest Scope="http://sharepoint/content/sitecollection" Right="FullControl" />

Если у sitecollection полное разрешение на управление, возвращается значение true, если текущий пользователь является веб-администратором сайта.

Я не хочу запрашивать разрешение на полный контроль над моей надстройкой. Так есть ли способ сделать это?

Спасибо, PhuHB

0 ответов

Другие вопросы по тегам