这似乎是一个冷漠的问题,我无法在任何地方(包括此处)找到答案,因此我将再试一次,看看是否有人有解决方案。我有一个 SharePoint 2013 实例,我使用 REST API 进行内容搜索并返回到我的 React 前端进行显示。这很好用。但是,当我只需要在整个站点中搜索特定文档列表而不仅仅是在目录或特定列表中搜索时,我现在遇到了问题。我可以使用 /_api/search/query?queryText="" 进行内容搜索,但我想构建此 API 端点的查询文本以仅搜索我提供的列表中的文档。
例如,如果我要查找三个文件:
我只想要这些文档和相应的数据(比如我使用搜索 api 获得的 RedirectEmbedURL 等),而不是 /_api/web/lists/getByTitle 方法。
有没有办法格式化查询字符串以仅返回特定文件?
谢谢。
我正在尝试为共享点列表创建一个网络挂钩。不幸的是,唯一的方法是通过调用 API。因此,我调用 API 来创建自己的 Web 挂钩,连接到我的共享点站点中的自定义列表。
我在我的共享点网站中打开了 Chrome 中的开发工具,并使用了以下代码:
fetch("https://my-org.sharepoint.com/sites/my-site/_api/web/lists('list-id')/subscriptions", {
"headers": {
"accept": "application/json",
"content-type": "application/json",
},
"body": "{\"resource\":\"https://my-org.sharepoint.com/sites/my-site/_api/web/lists('list-id')\",\"notificationUrl\":\"http://my-ngrok-id.ngrok.io\",\"expirationDateTime\":\"2021-11-03T21:54:41.000\"}",
"method": "POST",
});
Run Code Online (Sandbox Code Playgroud)
但它给出了一个403错误:
{
"odata.error": {
"code": "-2130575251, Microsoft.SharePoint.SPException",
"message": {
"lang": "en-US",
"value": "The security validation for this page is invalid and might be corrupted. Please use your web browser's Back button to try your operation again."
}
}
}
Run Code Online (Sandbox Code Playgroud) 可以使用 SharePoint 自己的本机 REST API 或使用 Microsoft Graph API 访问 SharePoint Online。我简要探索了这两个 API,并看到了功能方面的差异,例如,SharePoint API 具有函数类型方法调用 (GetByTitle()),而 Graph API 似乎支持基于身份的访问或“站点路径” 。我的观点是,SharePoint 通过在 URL 中使用“函数”可以轻松访问资源,但是,我不确定它是否是 RESTful。如果您对这方面有什么看法,将会很有帮助。
考虑到以下标准,给定两个选项(SharePoint 和 Graph),这是推荐的前进方向:
另外,我找不到任何微软对此的建议,如果有的话请分享链接。
谢谢。
文档:
https://docs.microsoft.com/en-us/graph/api/driveitem-createuploadsession?view=graph-rest-1.0
我可以使用站点/域/驱动器 api 获取子站点的驱动器 ID。使用这个和 driveId/root/children 我可以确认这个驱动器上的几个文件夹。
如果我使用 API POST /drives/{driveId}/items/{itemId}/createUploadSession 将 driveId 替换为驱动器 ID,将 itemId 替换为文件夹 ID,则会出现以下错误
{
"error": {
"code": "nameAlreadyExists",
"message": "Cannot create an upload session on a folder",
"innerError": {
"request-id": "609e17d5-b3f8-455d-9d0f-4849872d8cfa",
"date": "2020-02-25T20:31:33"
}
}
}
Run Code Online (Sandbox Code Playgroud)
如果文件夹 ID 不是 ItemID,那么 ItemID 是什么?如何指定要将文件保存到的文件夹?还是子文件夹或文件夹?没有一个选项让我使用 ItemID 以外的任何东西
POST /drives/{driveId}/items/{itemId}/createUploadSession
POST /groups/{groupId}/drive/items/{itemId}/createUploadSession
POST /me/drive/items/{itemId}/createUploadSession
POST /sites/{siteId}/drive/items/{itemId}/createUploadSession
POST /users/{userId}/drive/items/{itemId}/createUploadSession
Run Code Online (Sandbox Code Playgroud)