Я пытаюсь загрузить / выгрузить данные с сайта Sharepoint компании, доступ к которому находится за порталом авторизации. Например, портал входа в систему имеет значение http://home.sharepointsite.host, а фактический сайт sharepoint - https://root.sharepointsite.host. После входа в систему веб-сайт перенаправляется на https://root.sharepointsite.host, и я затем загружаю файл из https://root.sharepointsite.host/some_folder/, используя клиентский контекст Sharepoint (CSOM).
Я могу успешно получить доступ, когда в сети компании (которая не go через портал), но, кажется, не могу получить доступ за пределами сети компании, даже если я могу сделать это в браузере.
Текущий код загружаемого файла:
public static bool SharepointDownloadFile(string url, string path, string file, bool reporting)
{
if (reporting) { updateUI("Downloading sharepoint database", false); }
ClientContext context = new ClientContext(url);
context.Credentials = CredentialCache.DefaultNetworkCredentials;
try
{
if (context.HasPendingRequest) context.ExecuteQuery();
using (var fileInfo = SP.File.OpenBinaryDirect(context, path))
{
using (Stream destination = System.IO.File.Create(file))
{
for (int a = fileInfo.Stream.ReadByte(); a != -1; a = fileInfo.Stream.ReadByte())
destination.WriteByte((byte)a);
}
}
if (reporting) { updateUI("....done.\n", false); }
return true;
}
catch (Exception)
{
if (reporting) { updateUI("....not available, skipping.\n", false); }
return false;
}
}
Очевидно, мне нужно добавить код для подключения через портал. Помогите пожалуйста!