Как удалить разрешения пользователя для элемента с помощью Onedrive Graph API? - PullRequest
0 голосов
/ 19 апреля 2019

Сводка:

Я пытаюсь отменить разрешение пользователя на элемент с помощью Onedrive Graph API, но я всегда получаю 403 Forbidden.Я использую бизнес-аккаунт, и он отлично работает для всего остального;добавление разрешений пользователям, создание папок, загрузка файлов и т.д ..

Я следую этой документации https://docs.microsoft.com/en-us/onedrive/developer/rest-api/api/permission_delete?view=odsp-graph-online.

Что я делаю не так?

Запрос сделан:

Метод: УДАЛИТЬ

URL: https://graph.microsoft.com/v1.0/me/drive/items/01CFGODSVE5ZR7NAHG3FGLXM3G2YXDNYPF/permissions/aTowIy5mfG1lbWJlcnNoaXB8bWFyaW9AZXVyb21pYi5mcg

Авторизация: Bearer eyJ0e ...

Ответсделанный запрос:

{
    "error": {
        "code": "notAllowed",
        "message": "Operation not allowed",
        "innerError": {
            "request-id": "23fe15ec-9e3a-4c78-8a82-52be07db60d4",
            "date": "2019-04-19T11:10:20"
        }
    }
}

Почтальон Запрос и ответ: Postman Request & Response https://i.ibb.co/y8wcsh8/postman.png

C # Код:

public dynamic RemoveItemPermission(string itemId, string permissionId)
{
    string graphUrl = $"https://graph.microsoft.com/v1.0/me/drive/items/{itemId}/permissions/{permissionId}";
    HttpWebRequest request = WebRequest.CreateHttp(graphUrl);
    request.Headers.Add("Authorization", "Bearer " + AccessToken);
    request.Method = "DELETE";

    var response = request.GetResponse();
    using (StreamReader reader = new StreamReader(response.GetResponseStream()))
    {
        return JsonConvert.DeserializeObject<dynamic>(reader.ReadToEnd());
    }
}

1 Ответ

1 голос
/ 26 апреля 2019

Спасибо за очень подробный вопрос, Карлос!На основании предоставленных вами данных мы обнаружили проблему с удалением разрешений прямого доступа, которые были предоставлены конкретным пользователям.Мы отключили проблемный код и, надеюсь, теперь ваша проблема решена.Обязательно сообщите нам, если это НЕ так.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...