【问题标题】:Unable to download from https Sharepoint online with SSIS无法使用 SSIS 从 https Sharepoint 在线下载
【发布时间】:2017-10-06 02:08:09
【问题描述】:

我正在努力完成这项任务。我需要从 SharePoint 在线下载一个文件(excel),我无法安装额外的功能,所以我尝试在 HTTP 连接中进行。

问题是 SSIS 中的 HTTP 连接给了我代码错误 403,我不明白如何修复它。

我在 SharePoint 中有一个我拥有权限的 Microsoft 帐户。我正在使用带有凭据的 HTTP 连接管理器编辑器,但我不确定域是否正确。

【问题讨论】:

  • 请在您的问题中包含您的 http 请求的详细信息。
  • 您好,您需要哪些详细信息?谢谢
  • URL 和标题将是一个开始。您需要包含足够的细节,以便任何人都可以重现您的错误。
  • 描述您看到错误的位置(在编辑连接管理器或执行它时)。描述你是如何执行包的(在调试中,从服务器,dtexec)。什么版本的 SSIS?包是如何配置的,即它从哪里获取连接信息?保护级别是多少。
  • 403 是一个“禁止”错误。 en.wikipedia.org/wiki/HTTP_403。您的 URL 可能有效,但您可能需要先登录。如果网站是 https,显然你不能使用 http url。

标签: https ssis sharepoint-2013


【解决方案1】:

我花了很长时间才掌握了这一点,所以对于其他正在苦苦挣扎的人来说,以下内容对我有用:

    Using wc As New WebClient
        wc.Credentials = New SharePointOnlineCredentials(usr, spwd)
        wc.Headers.Add("X-FORMS_BASED_AUTH_ACCEPTED", "f")
        wc.DownloadFile(source, target)
    End Using

具体来说,我需要使用 SharePointOnlineCredentials 而不是 System.Net.NetworkCredential,并且在添加 wc.Headers.Add() 行之前仍然收到 403 错误。

有关信息,我正在使用:

因此,为了完整起见,您需要的其他部分是:

Imports System.Net
Imports System.Security
Imports Microsoft.SharePoint.Client
...
 Dim pwd As String = "password"
 Dim cpwd As Char() = pwd.ToCharArray()
 Dim spwd As New SecureString()
 For Each c As Char In cpwd
      spwd.AppendChar(c)
 Next

【讨论】:

    猜你喜欢
    • 2018-09-08
    • 2012-08-21
    • 1970-01-01
    • 1970-01-01
    • 2016-07-13
    • 1970-01-01
    • 2018-01-15
    • 2012-04-22
    • 2015-04-02
    相关资源
    最近更新 更多