排查 Azure 数据工厂和 Azure Synapse 中的 SharePoint Online 列表连接器问题

适用于: Azure 数据工厂 Azure Synapse Analytics

提示

试用 Microsoft Fabric 中的数据工厂,这是一种适用于企业的一站式分析解决方案。 Microsoft Fabric 涵盖从数据移动到数据科学、实时分析、商业智能和报告的所有内容。 了解如何免费开始新的试用

本文提供有关排查 Azure 数据工厂和 Azure Synapse 中常见的 SharePoint Online 列表连接器问题的建议。

错误代码:SharePointOnlineAuthFailed

  • 消息The access token generated failed, status code: %code;, error message: %message;.

  • 原因:服务主体 ID 和密钥可能设置有误。

  • 建议:检查注册的应用程序(服务主体 ID)和密钥,看看它们是否设置正确。

在 SharePoint Online 列表中授予权限后连接失败

症状

在 SharePoint Online 列表中向数据工厂授予权限,但仍失败并出现以下错误消息:

Failed to get metadata of odata service, please check if service url and credential is correct and your application has permission to the resource. Expected status code: 200, actual status code: Unauthorized, response is : {"error":"invalid_request","error_description":"Token type is not allowed."}.

原因

SharePoint Online 列表使用 ACS 获取访问令牌,以向其他应用程序授予访问权限。 但对于在 2018 年 11 月 7 日之后生成的租户,ACS 默认处于禁用状态。

建议

需要启用 ACS 才能获取访问令牌。 请按照以下步骤操作:

  1. 下载 SharePoint Online 管理 Shell,并确保拥有租户管理员帐户。

  2. 从 SharePoint Online 管理 Shell 运行以下命令。 将 <tenant name> 替换为你的租户名称,并在其后添加 -admin

    Connect-SPOService -Url https://<tenant name>-admin.sharepoint.com/ 
    
  3. 在弹出的身份验证窗口中输入租户管理员信息。

  4. 运行以下命令:

    Set-SPOTenant -DisableCustomAppAuthentication $false 
    

    用于解决问题的 Azure Data Lake Storage Gen1 连接关系图。

  5. 使用 ACS 获取访问令牌。

尝试通过以下资源获得故障排除方面的更多帮助: