Permalänk
Medlem

Sharepoint/Azure

Ber GitHub CoPilot om en enkel app för att ladda upp dokument till ett dokumentbibliotek i shrepoint.
Svaret blir

using Microsoft.Graph; using Microsoft.Identity.Client; using System; using System.IO; using System.Threading.Tasks; using System.Windows.Forms; namespace WinFormsApp2 { public partial class Form1 : Form { private static string clientId = "YOUR_CLIENT_ID"; private static string tenantId = "YOUR_TENANT_ID"; private static string clientSecret = "YOUR_CLIENT_SECRET"; private static string siteId = "YOUR_SITE_ID"; private static string driveId = "YOUR_DRIVE_ID"; public Form1() { InitializeComponent(); } private async void UploadButton_Click(object sender, EventArgs e) { var filePath = "path_to_your_file"; await UploadFileToSharePoint(filePath); } private async Task UploadFileToSharePoint(string filePath) { var confidentialClientApplication = ConfidentialClientApplicationBuilder .Create(clientId) .WithTenantId(tenantId) .WithClientSecret(clientSecret) .Build(); var authProvider = new ClientCredentialProvider(confidentialClientApplication); var graphClient = new GraphServiceClient(authProvider); using (var fileStream = new FileStream(filePath, FileMode.Open)) { var uploadSession = await graphClient .Sites[siteId] .Drives[driveId] .Root .ItemWithPath(Path.GetFileName(filePath)) .CreateUploadSession() .Request() .PostAsync(); var maxChunkSize = 320 * 1024; // 320 KB var provider = new ChunkedUploadProvider(uploadSession, graphClient, fileStream, maxChunkSize); var uploadResult = await provider.UploadAsync(); if (uploadResult.UploadSucceeded) { MessageBox.Show("File uploaded successfully!"); } else { MessageBox.Show("File upload failed."); } } } } }

men ClientCredentialProvider, .Root och ChunkedUploadProvider får röda squigglies, för de inte finns.
har paketen Microsoft.Graph och Microsoft.Identity.Client installerade i projektet.

Blir inte klokare av googling desssvärre, någon som vet, kör .Net 8, är svaret anpassat för en annan version av DotNet eller antas jag veta att något annat NuGet-paket skall installeras?

Permalänk
Medlem

Här har du en massa svar från xAI (Grok) om nu ska hålla oss till robotar..

- https://x.com/i/grok/share/G7qm46haNlxTZkXc7bSzowKSB

Visa signatur

KONSOL: Playstation 5
SKÄRM: Acer Nitro 4K 144 Hz XV282KKV
GAMING PC: i5-13600KF / Sapphire Radeon RX 7900 XTX 24GB Pulse Gaming OC / Gigabyte Z790 UD AX / Corsair Vengeance RGB EXPO 32GB 6000Mhz DDR5 / ADATA XPG GAMMIX S70 BLADE 2TB / Corsair iCUE H100i Elite Capellix XT / Corsair RM1000x Shift 1000W / Corsair 3000D RGB
GAMING LAPTOP: Razer Blade / 15,6" 144Hz / i7 10750H / 16GB / 512GB HD / RTX 2070

Permalänk
Medlem
Skrivet av Nucky:

Här har du en massa svar från xAI (Grok) om nu ska hålla oss till robotar..

- https://x.com/i/grok/share/G7qm46haNlxTZkXc7bSzowKSB

Bättre men dortfarande fel...

private async Task UploadFileToSharePoint(string filePath) { try { // Autentisering med Azure.Identity var scopes = new[] { "https://graph.microsoft.com/.default" }; var clientSecretCredential = new ClientSecretCredential(tenantId, clientId, clientSecret); GraphServiceClient graphClient = new GraphServiceClient(clientSecretCredential, scopes); // Öppna filen som en ström using (var fileStream = new FileStream(filePath, FileMode.Open, FileAccess.Read)) { // Skapa en uppladdningssession för stora filer var uploadSession = await graphClient.Sites[siteId] .Drives[driveId] .Root .ItemWithPath(Path.GetFileName(filePath)) .CreateUploadSession .PostAsync(); // Konfigurera LargeFileUploadTask const int maxSliceSize = 320 * 1024; // 320 KB, måste vara en multipel av 320 KB var fileUploadTask = new LargeFileUploadTask<DriveItem>( uploadSession, fileStream, maxSliceSize, graphClient.RequestAdapter); // Ladda upp filen var uploadResult = await fileUploadTask.UploadAsync(); if (uploadResult.UploadSucceeded) { MessageBox.Show("Filen laddades upp framgångsrikt!"); } else { MessageBox.Show("Uppladdningen misslyckades."); } } } catch (Exception ex) { MessageBox.Show($"Ett fel uppstod: {ex.Message}"); } }

Root finns fortfarande inte och PostAsync måste ha en parameter...

Permalänk
Medlem

Skrolla ner...
- https://x.com/i/grok/share/TtRP2znUeQClxkFCcmnlRr6v9

Använd något vettigare. Jag kommer sluta svara nu - Ville bara testa Grok en aning..

Visa signatur

KONSOL: Playstation 5
SKÄRM: Acer Nitro 4K 144 Hz XV282KKV
GAMING PC: i5-13600KF / Sapphire Radeon RX 7900 XTX 24GB Pulse Gaming OC / Gigabyte Z790 UD AX / Corsair Vengeance RGB EXPO 32GB 6000Mhz DDR5 / ADATA XPG GAMMIX S70 BLADE 2TB / Corsair iCUE H100i Elite Capellix XT / Corsair RM1000x Shift 1000W / Corsair 3000D RGB
GAMING LAPTOP: Razer Blade / 15,6" 144Hz / i7 10750H / 16GB / 512GB HD / RTX 2070