SharePoint

Sharepoint 连接器提供对 Sharepoint 服务和服务器的 SQL 访问。

支持的版本

此连接器支持 Windows Share Services 3.0、Microsoft Office Share Server 2007 及更高版本以及 Share Online。

准备工作

在使用 Sharepoint 连接器之前,请执行以下任务:

  • 在您的 Google Cloud 项目中:
    • roles/connectors.admin IAM 角色授予配置连接器的用户。
    • 将以下 IAM 角色授予您要用其来使用连接器的服务账号:
      • roles/secretmanager.viewer
      • roles/secretmanager.secretAccessor

      服务账号是一种特殊类型的 Google 账号,用于表示需要验证身份并获得授权以访问 Google API 数据的非人类用户。如果您没有服务账号,则必须创建一个服务账号。如需了解详情,请参阅创建服务账号

    • 启用以下服务:
      • secretmanager.googleapis.com (Secret Manager API)
      • connectors.googleapis.com (Connectors API)

      如需了解如何启用服务,请参阅启用服务

    如果之前没有为您的项目启用这些服务或权限,则在您配置连接器时,系统会提示您启用。

在 Azure (AD) 中配置 Sharepoint 应用

如果您选择将 Azure Active Directory (AD) 用于在线版本的 Sharepoint,请按照以下步骤在 Azure AD 中配置 Sharepoint 应用:

  1. Azure AD 门户中,选择组织的目录。
  2. 管理部分,点击应用注册,然后点击新注册
  3. 填写注册详细信息,在 Azure AD 中注册应用:
    1. 支持的帐号类型部分,选择仅限此组织目录中的帐号
    2. 对于重定向 URI(可选),请选择 Web,并将 https://your_connections_host.spo.index.html 添加为连接用户以接收身份验证响应的 URI。
    3. 点击注册
    4. 如需了解详情,请参阅如何在 Azure 中注册应用

  4. 在应用的概览页面中,点击 API 权限,然后点击添加权限
  5. 按照以下步骤将您的应用配置为访问 Web API:
    1. 对于请求 API 权限,请从 Microsoft API 标签页中选择 SharePoint
    2. 委托权限部分,选择读取和写入用户文件读取和写入所有网站集合中的内容
    3. 点击添加权限
    4. 在已配置的 API 权限屏幕中,选择your_organizational_directory 授予管理员同意声明
  6. 为贵组织的 Sharepoint 移动应用添加重定向 URI:
    1. 点击 Authentication(身份验证)。
    2. 网页中,点击添加 URI,然后将 https://your_connections_host/spo/mobile.html 添加为移动用户的回复网址。
    3. 隐式授权中,选择访问令牌ID 令牌
    4. 点击保存
  7. 修改 Azure Active Directory 应用清单,以允许应用使用的开放式身份验证:
    1. 在应用的概览页面中,点击清单部分。
    2. oauth2AllowImplicitFlow 属性更改为 true
    3. 点击保存
  8. 记下应用的概览页面中的应用(客户端)ID。如果您选择 Azure AD 身份验证类型,则在配置 SharePoint 连接器时,需要在身份验证部分提供该 ID。

配置连接器

配置连接器时,您需要创建与数据源(即后端系统)的连接。一个连接需专用于一个数据源。这意味着,如果您有许多数据源,则必须为每个数据源创建单独的连接。如需创建连接,请执行以下步骤:

  1. Cloud 控制台 中,进入 Integration Connectors > 连接页面,然后选择或创建一个 Google Cloud 项目。

    转到“连接”页面

  2. 点击 + 新建以打开创建连接页面。
  3. 位置部分中,选择连接的位置。
    1. 区域:从下拉列表中选择一个位置。

      支持的连接器区域包括:

      如需查看所有受支持区域的列表,请参阅位置

    2. 点击下一步
  4. 连接详情部分中,完成以下操作:
    1. 连接器:从可用连接器下拉列表中选择 SharePoint
    2. 连接器版本:从可用版本的下拉列表中选择一个连接器版本。
    3. 连接名称字段中,输入连接实例的名称。

      连接名称必须符合以下条件:

      • 连接名称可以使用字母、数字或连字符。
      • 字母必须小写。
      • 连接名称必须以字母开头,以字母或数字结尾。
      • 连接名称不能超过 63 个字符。
    4. (可选)输入连接实例的说明
    5. 服务账号:选择具有所需角色的服务账号。
    6. (可选)配置连接节点设置

      • 节点数下限:输入连接节点数下限。
      • 节点数上限:输入连接节点数上限。

      节点是处理事务的连接单元(或副本)。 连接处理越多事务就需要越多节点,相反,处理越少事务需要越少节点。 如需了解节点如何影响连接器价格,请参阅连接节点的价格。如果未输入任何值,则默认情况下,节点数下限设置为 2(以便提高可用性),节点数上限设置为 50。

    7. (可选)点击 + 添加标签,以键值对的形式向连接添加标签。
    8. 点击下一步
  5. 目标部分中,输入要连接到的远程主机(后端系统)的详细信息。
    1. 目标类型:选择目标类型。例如,主机地址为 https://xxxxx.sharepoint.com
      1. 主机地址字段中,指定目标的主机名或 IP 地址。
        1. 如果要与后端系统建立专用连接,请按以下步骤操作:
          1. 创建 PSC 服务连接
          2. 创建端点连接然后在主机地址字段中输入端点连接的详细信息。
        2. 如果要与后端系统建立公共连接并提高安全性,可以考虑为连接配置静态出站 IP 地址,然后将防火墙规则配置为仅将特定的静态 IP 地址列入许可名单。

      要输入其他目的地,请点击 + 添加目的地

    2. 点击下一步
  6. Authentication(身份验证)部分,输入身份验证详细信息。
    1. 选择以下任一身份验证类型,然后输入相应的详细信息。
      • Windows 凭据 (Windows credentials):如果您使用的是本地版本的 Sharepoint,请选择此选项。然后,执行以下操作:
        1. 用户名:输入用户名。
        2. 密码:选择相应密码。
        3. 密钥版本:输入密钥版本。
      • AzureAD:如果您使用的是在线版 Sharepoint,请选择此选项。然后,执行以下操作:
        1. 客户端 ID:输入用于请求访问令牌的客户端 ID。您可以通过在 Azure AD 中配置 Sharepoint 应用来获取客户端 ID。
        2. 范围:输入所需范围的列表(以英文逗号分隔)。例如 Sites.FullControl.All
        3. 客户端密钥:输入包含您创建的关联应用的客户端密钥的密钥。
        4. 密钥版本:上面所选密钥的密钥版本。
        5. 授权网址:创建客户端时生成的授权网址。按以下格式输入网址:https://login.microsoftonline.com/<tenant_identifier>/oauth2/v2.0/authorize。例如 https://login.microsoftonline.com/9bxxxxxxxxx8112/oauth2/v2.0/authorize
    2. 点击下一步
  7. 查看:查看您的连接和身份验证详细信息。
  8. 点击创建

实体、操作和动作

所有集成连接器都会为所连接应用的对象提供抽象层。您只能通过此抽象访问应用的对象。抽象作为实体、操作和动作向您展示。

  • 实体:实体可以被视为连接的应用或服务中的对象或属性集合。不同连接器的实体定义也会有所不同。例如,在数据库连接器中,表是实体;在文件服务器连接器中,文件夹是实体;在消息传递系统连接器中,队列是实体。

    不过,可能连接器不支持或不支持任何实体,在这种情况下,Entities 列表将为空。

  • 操作:操作是指您可以对实体执行的操作。您可以对实体执行以下任一操作:

    从可用列表中选择一个实体,系统会生成该实体可用的操作列表。如需了解操作的详细说明,请参阅连接器任务的实体操作。但是,如果连接器不支持任何实体操作,则此类不受支持的操作不会列在 Operations 列表中。

  • 动作:动作是可通过连接器接口提供给集成的头等函数。动作可让您对一个或多个实体进行更改,并且动作因连接器而异。但可能的情况是,连接器不支持任何动作,在这种情况下,Actions 列表将为空。

操作

本部分列出了该连接器支持的一些操作。如需了解如何配置操作,请参阅操作示例

DeleteAttachment 操作

此操作会删除附件。

DeleteAttachment 操作的输入参数

参数名称 数据类型 需要 说明
ListTitle 字符串 列表项的标题。
ItemId 字符串 列表项的 ID。
FileName 字符串 要从文档库中删除的文件的名称。

如需了解如何配置 DeleteAttachment 操作,请参阅操作示例

CheckInDocument 操作

此操作可让您签入文档。

CheckInDocument 操作的输入参数

参数名称 数据类型 需要 说明
RelativeURL 字符串 文件夹的相对网址。
DocumentName 字符串 要签到的文件的名称。
评论 字符串 可选签到消息。

如需了解如何配置 CheckInDocument 操作,请参阅操作示例

ChekOutDocument 操作

此操作可让您签出文件。

ChekOutDocument 操作的输入参数

参数名称 数据类型 需要 说明
RelativeURL 字符串 文件夹的相对网址。
DocumentName 字符串 要检出的文件的名称。

如需了解如何配置 ChekOutDocument 操作,请参阅操作示例

舍弃 CheckOutDocument 操作

此操作可让您撤消文件签出。

DismissCheckOutDocument 操作的输入参数

参数名称 数据类型 需要 说明
RelativeURL 字符串 文件夹的相对网址。
DocumentName 字符串 需要撤消签出的文件的名称。

如需了解如何配置 DiscardCheckOutDocument 操作,请参阅操作示例

CopyDocument 操作

通过此操作,您可以将文件从一个位置复制到另一个位置。

CopyDocument 操作的输入参数

参数名称 数据类型 需要 说明
SourceFileRelativeUrl 字符串 源文件的相对网址。
DestFileRelativeUrl 字符串 目标文件的相对网址。

如需了解如何配置 CopyDocument 操作,请参阅操作示例

UploadDocument 操作

此操作可让您上传文件。

UploadDocument 操作的输入参数

参数名称 数据类型 需要 说明
FileName 字符串 要上传的文件的名称。
RelativeUrl 字符串 文件夹的相对网址。
内容 字符串 要以文件形式上传的内容。
ContentBytes 字符串 要作为文件上传的字节内容(作为 Base64 字符串)。此对话框用于上传二进制数据。
HasBytes 布尔值 指定要上传的内容是否为二进制内容。默认值为 false

如需了解如何配置 UploadDocument 操作,请参阅操作示例

DownloadDocument 操作

此操作可让您下载文件。

DownloadDocument 操作的输入参数

参数名称 数据类型 需要 说明
RemoteFile 字符串 要下载的文件的完整网址。
字符串 Sharepoint 服务器上的库名称。
HasBytes 布尔值 指定是否应以字节形式下载内容。默认值为 false

如需了解如何配置 DownloadDocument 操作,请参阅操作示例

MoveAttachmentOrDocument 操作

通过此操作,您可以将文件从一个文件夹移动到另一个文件夹。

MoveAttachmentOrDocument 操作的输入参数

参数名称 数据类型 需要 说明
SourceFileURL 字符串 应移动的源文件的网址。
DestinationFolderURL 字符串 目标文件夹的网址。

如需了解如何配置 MoveAttachmentOrDocument 操作,请参阅操作示例

CreateFolder 操作

执行此操作后,您可以创建文件夹。

CreateFolder 操作的输入参数

参数名称 数据类型 需要 说明
RelativeURL 字符串 文件夹的相对网址。
FolderName 字符串 要创建的文件夹的名称。

如需了解如何配置 CreateFolder 操作,请参阅操作示例

AddAttachments 操作

此操作可让您添加附件。

AddAttachments 操作的输入参数

参数名称 数据类型 需要 说明
ListTitle 字符串 附件列表的名称。
FileName 字符串 附件文件的名称。
ItemId 字符串 要添加的附件的 ID。
内容 字符串 附件的内容。
ContentBytes 字符串 要作为附件上传的字节内容(作为 Base64 字符串)。此对话框用于上传二进制数据。
HasBytes 布尔值 指定要上传的内容是否为二进制内容。默认值为 false

如需了解如何配置 AddAttachments 操作,请参阅操作示例

DownloadAttachments 操作

此操作可让您下载附件。

DownloadAttachments 操作的输入参数

参数名称 数据类型 需要 说明
RemoteFile 字符串 文件的相对网址。
HasBytes 布尔值 指定要下载的内容是否为二进制内容。默认值为 false

如需了解如何配置 DownloadAttachments 操作,请参阅操作示例

操作示例

本部分介绍如何执行该连接器中的一些操作。

示例 - 删除附件

本示例会删除指定的文件。

  1. Configure connector task 对话框中,点击 Actions
  2. 选择 DeleteAttachment 操作,然后点击完成
  3. 连接器任务的任务输入部分中,点击 connectorInputPayload,然后在 Default Value 字段中输入类似于以下内容的值:
    {
    "ListTitle": "My lists",
    "ItemId": "1",
    "FileName": "sitepages.txt"
    }
  4. 如果操作成功,DeleteAttachment 任务的 connectorOutputPayload 响应参数的值将如下所示:

    [{
    "Status": "Success"
    }]

示例 - 在文档中签到

本示例检查文档。

  1. Configure connector task 对话框中,点击 Actions
  2. 选择 CheckInDocument 操作,然后点击完成
  3. 连接器任务的任务输入部分中,点击 connectorInputPayload,然后在 Default Value 字段中输入类似于以下内容的值:
    {
    "RelativeURL": "/Shared Documents/TestFolder",
    "DocumentName": "Document.txt",
    "Comment": "Comment test"
    }
  4. 如果操作成功,CheckInDocument 任务的 connectorOutputPayload 响应参数的值将如下所示:

    [{
    "Status": "Success"
    }]

示例 - 删除文件

本示例检查文件。

  1. Configure connector task 对话框中,点击 Actions
  2. 选择 ChekOutDocument 操作,然后点击完成
  3. 连接器任务的任务输入部分中,点击 connectorInputPayload,然后在 Default Value 字段中输入类似于以下内容的值:
    {
    "RelativeURL": "/Shared Documents/TestFolder",
    "DocumentName": "Document.txt"
    }
  4. 如果操作成功,ChekOutDocument 任务的 connectorOutputPayload 响应参数的值将如下所示:

    [{
    "Status": "Success"
    }]

示例 - 舍弃结账

此示例还原了文件签出。

  1. Configure connector task 对话框中,点击 Actions
  2. 选择 DiscardCheckOutDocument 操作,然后点击完成
  3. 连接器任务的任务输入部分中,点击 connectorInputPayload,然后在 Default Value 字段中输入类似于以下内容的值:
    {
    "RelativeURL": "/Shared Documents/TestFolder",
    "DocumentName": "Document.docx"
    }
  4. 如果操作成功,DiscardCheckOutDocument 任务的 connectorOutputPayload 响应参数的值将如下所示:

    [{
    "Status": "Success"
    }]

示例 - 复制文件

本示例将文件从一个位置复制到另一个位置。

  1. Configure connector task 对话框中,点击 Actions
  2. 选择 CopyDocument 操作,然后点击完成
  3. 连接器任务的任务输入部分中,点击 connectorInputPayload,然后在 Default Value 字段中输入类似于以下内容的值:
    {
    "SourceFileRelativeUrl": "/Shared Documents/Document.docx",
    "DestFileRelativeUrl": "/Shared Documents/TestFolder/Document123.docx"
    }
  4. 如果操作成功,CopyDocument 任务的 connectorOutputPayload 响应参数的值将如下所示:

    [{
    "Status": "Success"
    }]

示例 - 上传文本文件

此示例将一个文本文件上传到指定位置。

  1. Configure connector task 对话框中,点击 Actions
  2. 选择 UploadDocument 操作,然后点击完成
  3. 连接器任务的任务输入部分中,点击 connectorInputPayload,然后在 Default Value 字段中输入类似于以下内容的值:
    {
    "FileName": "test.txt",
    "RelativeUrl": "/Shared Documents/TestFolder",
    "Content": "abcd"
    }
  4. 如果操作成功,UploadDocument 任务的 connectorOutputPayload 响应参数的值将如下所示:

    [{
    "Status": "Success"
    }]

示例 - 上传二进制文件

此示例将二进制文件上传到指定位置。上传二进制文件时,请以 Base64 编码字符串的形式指定要上传的内容。

  1. Configure connector task 对话框中,点击 Actions
  2. 选择 UploadDocument 操作,然后点击完成
  3. 连接器任务的任务输入部分中,点击 connectorInputPayload,然后在 Default Value 字段中输入类似于以下内容的值:
    {
    "FileName": "test.txt",
    "RelativeUrl": "/Shared Documents/TestFolder",
    "ContentBytes": "SGVsbG8gd29ybGQK",
    "HasBytes": "true"
    }
  4. 如果操作成功,UploadDocument 任务的 connectorOutputPayload 响应参数的值将如下所示:

    [{
    "Status": "Success"
    }]

示例 - 下载文件

此示例会下载文件。

  1. Configure connector task 对话框中,点击 Actions
  2. 选择 DownloadDocument 操作,然后点击完成
  3. 连接器任务的任务输入部分中,点击 connectorInputPayload,然后在 Default Value 字段中输入类似于以下内容的值:
    {
    "RemoteFile": "/TestFolder/test.txt",
    "Library": "Shared Documents"
    }
  4. 如果操作成功,DownloadDocument 任务的 connectorOutputPayload 响应参数的值将如下所示:

    [{
    "Success": "True",
    "Content": "Test File",
    }]

示例 - 下载二进制文件

本示例会下载一个二进制文件。

  1. Configure connector task 对话框中,点击 Actions
  2. 选择 DownloadDocument 操作,然后点击完成
  3. 连接器任务的任务输入部分中,点击 connectorInputPayload,然后在 Default Value 字段中输入类似于以下内容的值:
    {
    "RemoteFile": "/TestFolder/test1.png",
    "Library": "Shared Documents"
    "HasBytes": "true"  
    }
  4. 如果操作成功,DownloadDocument 任务的 connectorOutputPayload 响应参数的值将如下所示:

    [{
    "Success": "True",
    "ContentBytes": "VGVzdCBGaWxl",
    }]

示例 - 移动附件

此示例将附件从一个位置移动到另一个位置。

  1. Configure connector task 对话框中,点击 Actions
  2. 选择 MoveAttachmentOrDocument 操作,然后点击完成
  3. 连接器任务的任务输入部分中,点击 connectorInputPayload,然后在 Default Value 字段中输入类似于以下内容的值:
    {
    "SourceFileURL": "/Shared Documents/test.txt",
    "DestinationFolderURL": "/Shared Documents/TestFolder"
    }
  4. 如果操作成功,MoveAttachmentOrDocument 任务的 connectorOutputPayload 响应参数的值将如下所示:

    [{
    "Result": "Success"
    }]

示例 - 创建文件夹

此示例会在指定位置创建一个文件夹。

  1. Configure connector task 对话框中,点击 Actions
  2. 选择 CreateFolder 操作,然后点击完成
  3. 连接器任务的任务输入部分中,点击 connectorInputPayload,然后在 Default Value 字段中输入类似于以下内容的值:
    {
    "RelativeURL": "/Shared Documents/TestFolder",
    "FolderName": "TestFolder123"
    }
  4. 如果操作成功,CreateFolder 任务的 connectorOutputPayload 响应参数的值将如下所示:

    [{
    "Id": "110842b7-2393-4f11-9391-3d75214e9fb8",
    "Status": "Success"
    }]

示例 - 添加附件

本示例将一个附件添加到指定列表中。

  1. Configure connector task 对话框中,点击 Actions
  2. 选择 AddAttachments 操作,然后点击完成
  3. 连接器任务的任务输入部分中,点击 connectorInputPayload,然后在 Default Value 字段中输入类似于以下内容的值:
    {
    "ListTitle": "My Lists",
    "FileName": "TestAttachment2",
    "Content": "abcd text",
    "ItemId": "1"
    }
  4. 如果操作成功,AddAttachments 任务的 connectorOutputPayload 响应参数的值将如下所示:

    [{
    "RelativeUrl": "/Lists/My lists/Attachments/1/TestAttachment2",
    "Status": "Success"
    }]

示例 - 添加二进制附件

本示例将二进制附件添加到指定列表。

  1. Configure connector task 对话框中,点击 Actions
  2. 选择 AddAttachments 操作,然后点击完成
  3. 连接器任务的任务输入部分中,点击 connectorInputPayload,然后在 Default Value 字段中输入类似于以下内容的值:
    {
    "ListTitle": "My Lists",
    "FileName": "TestAttachment3",
    "ContentBytes": "VGVzdCBGaWxl",
    "HasBytes": "true",  
    "ItemId": "1"
    }
  4. 如果操作成功,AddAttachments 任务的 connectorOutputPayload 响应参数的值将如下所示:

    [{
    "RelativeUrl": "/Lists/My lists/Attachments/1/TestAttachment3",
    "Status": "Success"
    }]

示例 - 下载附件

本示例会下载一个附件。

  1. Configure connector task 对话框中,点击 Actions
  2. 选择 DownloadAttachments 操作,然后点击完成
  3. 连接器任务的任务输入部分中,点击 connectorInputPayload,然后在 Default Value 字段中输入类似于以下内容的值:
    {
    "RemoteFile": "/Shared Documents/Document.txt"
    }
  4. 如果操作成功,DownloadAttachments 任务的 connectorOutputPayload 响应参数的值将如下所示:

    [{
    "Success": "True",
    "Content": "Test File",
    }]

示例 - 下载二进制附件

本示例下载一个二进制附件。

  1. Configure connector task 对话框中,点击 Actions
  2. 选择 DownloadAttachments 操作,然后点击完成
  3. 连接器任务的任务输入部分中,点击 connectorInputPayload,然后在 Default Value 字段中输入类似于以下内容的值:
    {
    "RemoteFile": "/Shared Documents/Document.docx",
    "HasBytes": "true"
    }
  4. 如果操作成功,DownloadAttachments 任务的 connectorOutputPayload 响应参数的值将如下所示:

    [{
    "Success": "True",
    "ContentBytes": "VGVzdCBGaWxl",
    }]

实体操作示例

本部分介绍如何执行此连接器中的一些实体操作。

示例 - 列出所有文件

以下示例列出了 Files 实体中的所有文件。

  1. Configure connector task 对话框中,点击 Entities
  2. Entity 列表中选择 Files
  3. 选择 List 操作,然后点击完成
  4. (可选)在连接器任务的任务输入部分,您可以通过指定 filter 子句来过滤结果集。您还可以使用逻辑运算符指定多个过滤条件。

示例 - 获取列表

此示例从 My Lists 实体获取具有指定 ID 的列表。

  1. Configure connector task 对话框中,点击 Entities
  2. Entity 列表中选择 My Lists
  3. 选择 Get 操作,然后点击完成
  4. 连接器任务的任务输入部分中,点击 EntityId,然后在默认值字段中输入 3

    此处,3My Lists 实体中的主键值。

示例 - 创建记录

此示例在 My Lists 实体中创建一条记录。

  1. Configure connector task 对话框中,点击 Entities
  2. Entity 列表中选择 My Lists
  3. 选择 Create 操作,然后点击完成
  4. 连接器任务的任务输入部分中,点击 connectorInputPayload,然后在 Default Value 字段中输入类似于以下内容的值:
    {
    "AuthorId": 11.0, 
    "BaseName": "3_",
    "Attachments": false,
    "Title": "Created List New"
    }

    如果集成成功,连接器任务的 connectorOutputPayload 字段的值将如下所示:

    [{
    "ID": 3.0
    }]

示例 - 删除记录

此示例将删除 My Lists 实体中指定 ID 的记录。

  1. Configure connector task 对话框中,点击 Entities
  2. Entity 列表中选择 My Lists
  3. 选择 Delete 操作,然后点击完成
  4. 连接器任务的任务输入部分中,点击 entityId,然后在默认值字段中输入 2

在集成中使用 Sharepoint 连接

创建连接后,它在 Apigee Integration 和 Application Integration 中均可使用。您可以通过连接器任务在集成中使用该连接。

  • 如需了解如何在 Apigee Integration 中创建和使用连接器任务,请参阅连接器任务
  • 如需了解如何在 Application Integration 中创建和使用连接器任务,请参阅连接器任务

向 Google Cloud 社区寻求帮助

您可以在 Cloud 论坛的 Google Cloud 社区发布您的问题并讨论此连接器。

后续步骤