Office365 在Office 365 API中创建文件夹-对象C

Office365 在Office 365 API中创建文件夹-对象C,office365,Office365,我正在开发AirFile,它支持多云。现在,我将支持Office 365和OneDrive Pro for Business。我已经完成了其他操作:获取文件列表、复制、移动、上载、下载、删除。但是使用“创建文件夹”无法完成 作为Office 365 document API(),我在发送POST请求时设置了以下数据: - (NSData *)postMehodData { NSString *params = @"{'__metadata':{'type':'MS.FileService

我正在开发AirFile,它支持多云。现在,我将支持Office 365和OneDrive Pro for Business。我已经完成了其他操作:获取文件列表、复制、移动、上载、下载、删除。但是使用“创建文件夹”无法完成

作为Office 365 document API(),我在发送POST请求时设置了以下数据:

- (NSData *)postMehodData
{
    NSString *params = @"{'__metadata':{'type':'MS.FileServices.Folder'},Name:'%@'}";
    params = [NSString stringWithFormat:params, [self.folderName stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
    return [params dataUsingEncoding:NSUTF8StringEncoding];
}
我还将请求的url设置为API引用,但结果总是HTTP 400代码

我还引用了来自的Android代码,但我看不出它为什么错了


如果我能错过什么?感谢您的支持。

我还发现Office365 API的创建文件夹功能存在问题。我正在NodeJS中开发(不使用任何提供的库),并且我能够完成API发布的大部分函数。如果我是Office365帐户的全局管理员,我可以创建文件夹,但如果我是Office365环境中的典型用户,则无法创建文件夹

我没有看到Azure广告权限中专门针对“创建文件夹”的任何内容,最接近的项目是“编辑或删除用户文件”或“在所有网站集中创建或删除项目和列表”

管理员和用户都会导致HTTP 200,但用户会收到一个拒绝访问错误

我猜“在所有网站集中创建或删除项目和列表”是一项管理功能,因为“用户”不能授予这些权限,所以不会创建文件夹。虽然我希望“编辑或删除用户文件”足以创建文件夹,因为我可以创建文件并将其上载到已创建的文件夹中

我对_元数据使用与上面相同的结构

根据我的观察,创建文件夹有一些不太正确的地方,无论它是基于权限的还是未完全烘焙的


如果我能帮助澄清我的发现,我很乐意分享更多。现在很难在网上找到帮助,尽管微软应该在这些表单的某个地方

Office 365 API仍在预览中。看起来您提到的问题已经解决了,但是请注意,在API正式发布之前,情况可能仍然会发生变化。因此,还不要在生产中使用它们。

谢谢您的回答。我想我没有为HTTP头设置“内容类型”,可能是因为这个原因!!现在,在我设置了Content-Type头的值之后就可以了。我也可以让它为用户工作。我转到并删除了该用户的应用程序权限,然后再次登录。要么是因为我在用户第一次授权应用程序时没有正确设置权限,要么是因为微软解决了一些后台问题。“创建文件夹”的所有功能在此也正常工作。喜欢新的API!