Microsoft 团队聊天机器人在 Sharepoint 库中搜索

Microsoft teams chatbot searching in sharepoint library

我使用 Microsoft 的 Hello World 教程(Node.js)开发了一个基本的 Teams 聊天机器人。我想让这个机器人能够搜索 Sharepoint 文档库。用户可以在团队中向机器人提出诸如“产品 B 的合同”之类的问题,而机器人可以用文档 url 或更好的是文档本身来回复。所以:

  1. 可能吗?
  2. 如果是,您知道可以帮助我的教程吗?

谢谢

是的,这是可能的。您需要知道,机器人基本上只是一个具有特殊 REST 端点的 Web 服务,因此它可以做任何其他 Web 服务可以做的事情,例如调用 SharePoint。您需要注意的重要一点是,机器人/Web 服务本身没有访问 SharePoint 的权限,因此您需要考虑对 SharePoint 库的身份验证。简而言之:

  1. 您应该使用 Microsoft Graph 连接到 SharePoint,如下所示:https://docs.microsoft.com/en-us/graph/api/resources/onedrive?view=graph-rest-1.0 or more specifically this: https://docs.microsoft.com/en-us/graph/api/driveitem-list-children?view=graph-rest-1.0&tabs=http

  2. 如果您查看上面 link 中的权限部分,请注意您的服务(即机器人)需要具有 'Application' 权限,这意味着标准权限应用于机器人本身,并由租户管理员授予,以检索任何文件,或 'delegated' 这意味着它只能获取用户有权访问的项目,并且机器人代表用户进行操作。第二个选项要求您在机器人中实施 SSO,获取用户的访问令牌,将其交换为图形令牌(称为“OBO”或“代表”交换),然后调用 SharePoint。

我尽量让答案集中在您的问题上。如果您需要更多详细信息,尤其是关于更详细且您可能不熟悉的第 2 部分,请告诉我,但在这种情况下,这应该是本网站上的一个单独问题。