问题标签 [microsoft-graph-files]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
276 浏览

microsoft-graph-api - 搜索查询不返回 @microsoft.graph.downloadUrl

似乎 Microsoft Graph 搜索功能driveItem不返回@mcirosoft.graph.downloadUrl

使用图形资源管理器,我尝试获取以下内容,downloadUrl但响应中不存在:

在文档中,DriveItem应该包括@microsoft.graph.downloadUrl响应。

0 投票
0 回答
48 浏览

javascript - 当我尝试创建会话(Drive Excel 工作簿)时如何修复“FileOpenBaseDocumentCheckOperationFailed”错误 500)

我使用 MS Graph 进行概念验证。当我尝试使用 Microsoft Graph REST API (v1.0) 为我的 Excel 工作簿创建会话时,我得到了一个

错误 500 FileOpenBaseDocumentCheckOperationFailed

它在多次尝试后有时会起作用,所以我想知道这是 Microsoft Graph REST API 服务器状态的问题还是我的源代码有问题?我遵循 MS 文档并使用提供的模板。

当我使用 Microsoft Graph Explorer 网站时,我总是得到status = 201(创建)并且得到workbook-session-id.

我在亚太地区,所以我可以从控制台标题响应中看到我正在使用东亚的数据中心。也许 Graph Explorer 网站正在使用东亚以外的另一个特殊数据中心,所以它更稳定?

这是我的源代码:

因此,为了“强制”获取,如果或workbook-session-id,我再次调用callMSGraph函数本身。status = 500409

我希望在第一次或第二次尝试中获得成功,但有时我在获得(创建)workbook-session-id之前尝试了 10 次甚至更多次。status 201有时我尝试了更多,然后它失败了,因为它尝试了太多次。

链接到 Graph Explorer https://developer.microsoft.com/en-us/graph/graph-explorer

任何想法都会受到赞赏,因为我想让会话创建的请求可靠。我没有找到有关此错误消息的任何信息:

FileOpenBaseDocumentCheckOperationFailed

GET否则,对于其他带有or的命令,我不会遇到任何问题PATCH

0 投票
3 回答
6076 浏览

javascript - 如何在 Sharepoint Online 中启用 CORS

我正在尝试在我的反应应用程序中实现共享点文件浏览器。使用microsoft/file-browser这个ans代码如下。但是得到xxx... from origin 'http://localhost:3000' has been blocked by CORS policy

任何想法如何为此启用CORS

0 投票
3 回答
7069 浏览

sharepoint - 使用 Microsoft Graph API 获取 SharePoint 文件夹和文档

我正在尝试使用 Microsoft Graph API 从 SharePoint 文档库中获取文件夹和文档。

如果我GET请求https://graph.microsoft.com/v1.0/sites/mysite.sharepoint.com:/sites/MyDocumentSite:/drives/,我会得到这个:

但是,如果我尝试通过GET对该 id: 发出请求来访问该驱动器,则会https://graph.microsoft.com/v1.0/sites/mysite.sharepoint.com:/sites/MyDocumentSite:/drives/b!wxh2ZWwoT0KKTdLRYjD5jvzjo8jkat5LgY3VyfgEqkv3YVg_XXXXXXXXXXXXXXXX收到 BadRequest 错误:

最终,我想要一种方法来显示文档库中的所有文件夹和文档,但我似乎无法通过这个初始步骤。

0 投票
1 回答
115 浏览

microsoft-graph-api - Microsoft Graph v1.0 - 转换为其他格式 - 不支持 pptm

根据 microsoft graph v1.0 api 的文档,可以将 pptm 文件转换为 pdf 文件。请参阅 当我调用 API 时得到 406 - 不支持的响应 (InputFormatNotSupported)。这发生在 sdk 和通过基本的休息调用。例如:

我已经看到在新的 beta 版本中不再支持 pptm。希望它仍然会得到支持,因为这对我来说是一个典型的用例。有人可以帮忙吗?非常感谢。

0 投票
1 回答
375 浏览

microsoft-graph-api - 使用 Microsoft Graph API 进行精确文本搜索

我们可以使用 Microsoft Graph API 进行精确的文本搜索吗?

我知道搜索的终点是:

文档不清楚将什么传递给搜索查询 ( q) 参数。

用于搜索项目的查询文本。值可以在多个字段中匹配,包括文件名、元数据和文件内容。

我试过双引号格式

和“+”格式

我正在使用 Microsoft Graph Explorer 上的“试用”按钮运行这些查询,我希望它们不会返回任何内容,因为示例驱动器中不应存在“Bob Bowen”字样。但我总是得到一些文档命中,因为精确的文本搜索不起作用。

0 投票
0 回答
103 浏览

microsoft-graph-api - 下载包含 Range 标头的文件时,OneDrive CORS 预检失败

目前,我正在构建一个为 chromeOS 提供 OneDrive 文件系统支持的 javascript 应用程序。不幸的是,由于预检失败,我在通过 OneDrive API 下载文件时遇到了问题。

深埋在Microsoft API 文档中,提到了针对 javascript 应用程序的 CORS 请求的解决方法,因为预检将失败。为了规避 302 重定向,文件下载必须分两步执行:首先获取下载 url,然后通过该 url 下载文件。这很好用,因为简单的GET请求不需要预检检查。

回到文件系统。根据chrome.fileSystemProvider API 文档

结果必须通过多次调用successCallback以块的形式返回。

这可以通过使用对download-urlRange的请求的标头来实现,OneDrive API 使用部分范围下载GET实际上支持该标头。但是,现在请求不再简单,因此需要进行预检检查,最终失败。

所以基本上,解决方法失败了,因为解决方法尝试解决的问题仍然存在于解决方法中。

我该如何克服这个问题?由于带宽和隐私问题,我显然不想通过代理发送请求。我是否可以Range通过首先下载整个文件然后以字节大小的块将其提供给fileSystemProvider? 大约 5 年前,我遇到了一个非常相似的问题,但不幸的是,它并没有让我更进一步。

0 投票
0 回答
58 浏览

microsoft-graph-api - 通过 Microsoft Graph API 在 OneDrive 中搜索具有非西方文本的文档

如何在我的 OneDrive 中搜索包含非西方字符的术语?

例如,我有一个 Excel 文件,在两个单独的单元格中包含文本“Tetsuo”和“悠真”。

使用Microsoft Graph API Explorer,我正在运行以下测试

以下查询将此文档作为搜索命中返回:

以下查询不会将文档作为搜索命中返回:

我知道 Microsoft Graph API Explorer 应该处理编码,并且它似乎处理得很好,因为结果在那个级别上总是一致的。但是,似乎有什么东西阻止我搜索一个日语字符之外的东西。有什么我想念的吗?

0 投票
1 回答
337 浏览

microsoft-graph-api - MS Graph 放在从 createUploadSession 创建的 uploadUrl 导致 404

当对共享的文件进行可恢复上传时,无法使用从 createUploadSession 返回的 url。

使用 /content 直接上传有效,但有 4MB 的限制

方案UserA共享具有编辑权限的文件以UserB 使用 ms graph javascript sdk

尝试uploadUrl在 404 中使用结果{"error":{"code":"itemNotFound","message":"The resource could not be found."}}

有趣的是,uploadUrl看起来像这样 https://{tenant}-my.sharepoint.com/personal/{UserA}_{tenant}_com/_api/v2.0/drives/${driveId}/items/${id}/uploadSession?guid='5b85df9e-b524-4000-9883-8106a13e592f'...

不确定它是否与嵌入在 url 中的 UserA 有关。

如果UserA访问相同的文件并进行类似的上传,则该文件一切正常。

以下所有请求都适用于任一用户:

uploadUrl从 createUploadSession 返回的应该对有权创建上传会话的任何用户有效。

0 投票
0 回答
438 浏览

microsoft-graph-api - 是否可以使用 Graph API 选择某个位置的所有文件(仅文件)?

我正在尝试使用 Graph API 来选择 SharePoint 位置的所有文件夹和文件。

我可以使用以下调用来获取某个位置的所有driveItems(文件夹和文件)的列表:

我可以扩展此调用以使其仅返回具有“文件夹”方面的项目,这意味着我可以选择driveItems此位置中的所有文件夹:

我现在想要的是能够扩展原始调用,以便它只选择driveItems“文件”方面的所有内容。例如:

但是,我使用 Graph explorer 的经验表明,没有任何支持可以让我这样做。

谁能告诉我任何可能的方法来做到这一点?希望使用一些 OData 参数/drives而不是使用sites/(siteId)/lists(listId)/items- 如果要使用此方法,那么我如何从结果中过滤掉文档集?