Leggere un file su One Drive con il codice VB.net

Giorgio Scintu 0 Punti di reputazione
2024-05-10T10:26:22.8+00:00

Avrei la necessità di leggere il contenuto di un file di testo che ho caricato in One Drive, utilizzando il codice VB.NET, ho scritto il seguente codice:

 Dim Address As String = "https://onedrive.live.com/download?cid=6F30F45B5EA6956C&resid=6F30F45B5EA6956C%211323&authkey=AEnoaW_3I-IgT8w"
       Dim Stringaversione As String = ""
        
              Dim W As New WebClient
        Try
            Stringaversione = W.DownloadString(Address) 
        Catch ex As Exception
            MsgBox(ex.Message)
            Exit Sub
        End Try

Ma purtroppo non funziona, o meglio sino a qualche mese fa funzionava, ora non più; il codice "W.DownloadString(Address)" non legge il contenuto del file di testo, ma altri dati, che non capisco, della pagina web. Penso sia necessaria l'autorizzazione per l'accesso a One Drive, ma non trovo il codice VB.NET. Qualche suggerimento sul codice?

Grazie

Giorgio

VB
VB
Linguaggio di programmazione orientato agli oggetti sviluppato da Microsoft implementato in .NET Framework. Precedentemente noto come Visual Basic .NET.
18 domande
0 commenti Nessun commento
{count} voti

3 risposte

Ordina per: Più utili
  1. Monica Caprio (Convergys International Europe) 1,130 Punti di reputazione Fornitore Microsoft
    2024-05-10T11:36:48.24+00:00

    Gentile Giorgio,

    Per accedere a un file specifico su OneDrive, potresti dover utilizzare l'API di OneDrive anziché un approccio basato su web scraping come stai facendo attualmente. Potresti considerare l'utilizzo dell'API di OneDrive per ottenere il contenuto del file.

    Per accedere ai file su OneDrive tramite codice VB.NET, puoi utilizzare l'API di OneDrive fornita da Microsoft. Ecco una panoramica generale di come puoi procedere:

    1. Registra l'applicazione: Vai al portale per sviluppatori di Microsoft e registra la tua applicazione per ottenere le credenziali necessarie per accedere all'API di OneDrive.
    2. Autorizzazione: Assicurati di configurare l'applicazione in modo che abbia i permessi appropriati per accedere ai file di OneDrive.
    3. Utilizzo dell'API: Una volta registrata l'applicazione e ottenute le credenziali, puoi utilizzare l'API di OneDrive per accedere ai file. Puoi utilizzare le librerie ufficiali di Microsoft per .NET per semplificare il processo di accesso e manipolazione dei file su OneDrive.

    Ecco un esempio di come potresti recuperare il contenuto di un file di testo da OneDrive utilizzando l'API di OneDrive:

    
    Imports Microsoft.Graph
    
    Public Class OneDriveManager
    
        Private Shared Async Function GetFileContentAsync(accessToken As String, fileId As String) As Task(Of String)
    
            Dim graphServiceClient As New GraphServiceClient(New DelegateAuthenticationProvider(Function(requestMessage)
    
                                                                                                 requestMessage.Headers.Authorization = New System.Net.Http.Headers.AuthenticationHeaderValue("bearer", accessToken)
    
                                                                                                 Return Task.CompletedTask
    
                                                                                             End Function))
    
            Dim stream = Await graphServiceClient.Me.Drive.Items(fileId).Content.Request().GetAsync()
    
            Using reader As New System.IO.StreamReader(stream)
    
                Return Await reader.ReadToEndAsync()
    
            End Using
    
        End Function
    
        ' Esempio di utilizzo
    
        Public Shared Async Function Main() As Task
    
            Dim accessToken As String = "il_tuo_access_token"
    
            Dim fileId As String = "id_del_file_di_OneDrive"
    
            Dim fileContent As String = Await GetFileContentAsync(accessToken, fileId)
    
            Console.WriteLine(fileContent)
    
        End Function
    
    End Class
    
    

    Questo è solo un esempio di come iniziare. Assicurati di studiare la documentazione ufficiale di Microsoft per comprendere completamente come utilizzare l'API di OneDrive e come gestire l'autenticazione e le autorizzazioni.

    Spero la mia risposta sia stata utile.

    Ti auguro una piacevole giornata.

    Monica.

    0 commenti Nessun commento

  2. Giorgio Scintu 0 Punti di reputazione
    2024-05-10T14:59:20.4033333+00:00

    Buongiorno Monica,

    ho registrato la mia applicazione, ma quando mi chiede "URI di reindirizzamento" cosa dovrei indicare la cartella dell'applicazione all'interno di One Drive?

    Poi ho cliccato sul link

    Se si continua, si accettano i criteri della piattaforma Microsoft

    e mi appare in altra pagina:

    "Microsoft identity platform for developers Terms of Use"

    ora come devo procedere? devo attendere?


  3. Giorgio Scintu 0 Punti di reputazione
    2024-05-13T09:42:26.8566667+00:00

    Ok, l'applicazione è stata registrata, ho ricevuto le credenziali, ho provato a scrivere il codice suggerito, ma visual studio non riconosce "Imports Microsoft.Graph", come va caricato in visual studio?

    0 commenti Nessun commento

Risposta

Le risposte possono essere contrassegnate come risposte accettate dall'autore della domanda. Ciò consente agli utenti di sapere che la risposta ha risolto il problema dell'autore.