如何使用 Onedrive Graph API 删除用户对项目的权限?
How to remove permissions of a user on an item using Onedrive Graph API?
总结:
我正在尝试使用 Onedrive Graph API 删除用户对某个项目的权限,但我总是得到 403 Forbidden
。我使用的是企业帐户,它在其他所有方面都运行良好;为用户添加权限、创建文件夹、上传文件等..
我做错了什么?
提出请求:
方法:删除
授权:不记名 eyJ0e...
请求的响应:
{
"error": {
"code": "notAllowed",
"message": "Operation not allowed",
"innerError": {
"request-id": "23fe15ec-9e3a-4c78-8a82-52be07db60d4",
"date": "2019-04-19T11:10:20"
}
}
}
邮递员请求和响应:
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());
}
}
感谢卡洛斯提出非常详细的问题!根据您提供的内容,我们确实追踪了删除授予特定用户的直接访问权限的问题。我们禁用了有问题的代码,希望您的问题现在已得到解决。如果情况并非如此,请务必告诉我们。
根据 Microsoft 文档,您只能删除不能继承的权限。
只能删除非继承的共享权限。 inheritedFrom 属性 必须为 null
https://docs.microsoft.com/en-us/graph/api/permission-delete?view=graph-rest-1.0&tabs=http
总结:
我正在尝试使用 Onedrive Graph API 删除用户对某个项目的权限,但我总是得到 403 Forbidden
。我使用的是企业帐户,它在其他所有方面都运行良好;为用户添加权限、创建文件夹、上传文件等..
我做错了什么?
提出请求:
方法:删除
授权:不记名 eyJ0e...
请求的响应:
{
"error": {
"code": "notAllowed",
"message": "Operation not allowed",
"innerError": {
"request-id": "23fe15ec-9e3a-4c78-8a82-52be07db60d4",
"date": "2019-04-19T11:10:20"
}
}
}
邮递员请求和响应:
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());
}
}
感谢卡洛斯提出非常详细的问题!根据您提供的内容,我们确实追踪了删除授予特定用户的直接访问权限的问题。我们禁用了有问题的代码,希望您的问题现在已得到解决。如果情况并非如此,请务必告诉我们。
根据 Microsoft 文档,您只能删除不能继承的权限。 只能删除非继承的共享权限。 inheritedFrom 属性 必须为 null
https://docs.microsoft.com/en-us/graph/api/permission-delete?view=graph-rest-1.0&tabs=http