403禁止在OneDrive中读取CSV文件

时间:2018-04-25 05:30:30

标签: excel microsoft-graph onedrive

我正在尝试使用Microsoft Graph API读取我的CSV文件:

/me/drive/items/${someId}/workbook/worksheets('${someSheetName}')/usedRange

然而它会返回

403 Forbidden -> AccessDenied -> Could not get WAC token.

阅读XLSX文件时,它可以正常工作。我正在使用个人微软帐户。

感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

CSV和.xls不支持格式。只有.xlsx适用于此功能。

答案 1 :(得分:1)

正如其他人所指出的那样,新的Excel API不支持CSV文件。但是,为了帮助那些最初被我这样的错误信息搞糊涂的人,我想详细说明一下。

首先,区分Microsoft Graph API和Excel API很有用。 Microsoft Graph API主要提供文件存储系统的基本功能,以便第三方可以使用OneDrive和SharePoint中的文件和文件夹。另一方面,Excel API提供Excel功能,以便第三方可以使用Excel文件(特别是.xlsx文件)。虽然Excel API使用相同的资源标识系统并与Microsoft Graph API共享相同的请求“语法”,但两者并不相同。

以下请求显然属于Excel API,而不是Graph API。虽然Graph API可以处理CSV文件(它不关心它使用哪种类型的文件,因为它与应用程序无关),但Excel API不能。

/me/drive/items/${someId}/workbook/worksheets('${someSheetName}')/usedRange

如果查看Excel API中的端点,您会发现大多数端点指向CSV文件中不存在的功能:工作簿,工作表,单元格等。例如,上面的请求尝试读取工作簿文件中的特定工作表,如果文件为CSV,则无法使用该工作表。

此外,Excel API还处理公式,数据类型和单元格格式等功能,这些功能在CSV文件中也不存在。

基本上,CSV文件只不过是纯文本文件,因此Excel API不支持。

当然,如果Excel API团队可以返回更有意义的错误消息,那将非常有用。我个人觉得当前的错误信息非常误导。