У меня есть клиент, который установил сертификат, позволяющий мне получить доступ к его сайту Sharepoint. Он предоставил мне файл PDX, ClientID и TenantID. Я считаю, что могу пройти аутентификацию с помощью кода, представленного ниже, но мне не удалось использовать GraphServiceClient для загрузки файла на сайт.
Он провел некоторое тестирование на его конец с помощью сценария Powershell, и он может загрузить файл через Powershell. Я плохо владею Powershell и предпочел бы написать свое решение на C#.
Я искал повсюду примеры кода для выполнения этой работы. Ни один из примеров не работает. Мне не нужно асинхронное решение. Этот процесс будет запускаться периодически (вероятно, ежедневно) для чтения файлов из одной системы и копирования их в другую. Возможно ли это на C#?
Вот мой код. Он не скомпилируется из-за проблемы в последней строке - var resultDriveItem = await...
public static async void TestClientCert()
{
var scopes = new[] { "https://graph.microsoft.com/.default" };
var clientId = "blah";
var tenantId = "blah";
var clientCertificate = new X509Certificate2(@"c:\work\Test.pfx", "blah");
var options = new ClientCertificateCredentialOptions
{
AuthorityHost = AzureAuthorityHosts.AzurePublicCloud,
};
var clientCertCredential = new ClientCertificateCredential(
tenantId, clientId, clientCertificate, options);
var gc = new GraphServiceClient(clientCertCredential, scopes);
var fileName = @"c:\work\fileToUpload\upload.doc";
using (Stream fileStream = new FileStream(
fileName,
FileMode.Open,
FileAccess.Read))
{
var resultDriveItem = await gc.Sites["SiteID-Blah"]
.Drives[0].Root.ItemWithPath(fileName).Content.Request().PutAsync(fileStream);
}
}
Подробнее здесь: https://stackoverflow.com/questions/774 ... ng-c-sharp
Загрузите файл в Sharepoint с помощью Microsoft Graph и C#. ⇐ C#
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение