Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it L'avatar di supermac
    Registrato dal
    Jun 2001
    Messaggi
    1,856

    [VB.NET] Chiamate a API di Google Firebase

    Mi sento uno stupido ma non trovo documentazione per fare chiamate API rest a google Firebase.
    Avrei bisogno di alcuni esempi per collegare un sw desktop in .NET VB ai dati su Firebase (devo caricare prodotti categorie e disponibilità articoli su una struttura di dati già fatta).

    Qualcuno ha due righe di codice da mostrarmi?
    Io ho trovato in rete una cosa come quella qui sotto ma mi manca l'uri a cui inviare la richiesta.... dovrebbe essere la chiamata inziale con cui Google mi restituisce il token per le chiamate successive (se ho capito come funziona)
    Grazie

    codice:
      Public Async Function ForStackOverFlow(ByVal requestUri As String) As Task(Of String)
          requestUri = "https://XXXXXXXXX.firebaseio.com/?????????????"
          Using client As New HttpClient()
             Dim URI As Uri = New Uri(requestUri)
             Dim auth As Byte() = Encoding.ASCII.GetBytes("xxxxutente:xxxxxpassword")
             client.DefaultRequestHeaders.Authorization = New Headers.AuthenticationHeaderValue("Basic", Convert.ToBase64String(auth))
             Dim response As HttpResponseMessage = Await client.GetAsync(URI)
             Dim content As HttpContent = response.Content
             Return Await content.ReadAsStringAsync()
          End Using
       End Function
    W la Ferari effetrenavenave!
    il computer è un somaro veloce! (neanche tanto ndr)

  2. #2
    copio e incollo, non è farina del mio sacco

    - - - - - - - - - - - - - -

    Per prima cosa, per fare chiamate API REST a Google Firebase, dovrai ottenere un token di accesso da Google. Dopo aver ottenuto un token di accesso, puoi utilizzare il codice seguente per eseguire chiamate API REST a Firebase:

    codice:
    Public Async Function ForStackOverFlow(ByVal requestUri As String) As Task(Of String)  requestUri = "https://XXXXXXXXX.firebaseio.com/??????????????"
      Using client As New HttpClient()
         Dim URI As Uri = New Uri(requestUri)
         Dim auth As Byte() = Encoding.ASCII.GetBytes("xxxxutente:xxxxxpassword")
         client.DefaultRequestHeaders.Authorization = New Headers.AuthenticationHeaderValue("Basic", Convert.ToBase64String(auth))
         Dim response As HttpResponseMessage = Await client.GetAsync(URI)
         Dim content As HttpContent = response.Content
         Return Await content.ReadAsStringAsync()
      End Using
    End Function
    La variabile requestUri dovrebbe essere sostituita con l'URI specifico che si desidera chiamare, ad esempio https://XXXXXXXXX.firebaseio.com/products per recuperare i prodotti.


    Inoltre, dovrai sostituire xxxxutente:xxxxxpassword con il tuo nome utente e password di Firebase.

  3. #3
    Utente di HTML.it L'avatar di supermac
    Registrato dal
    Jun 2001
    Messaggi
    1,856
    ah ok, grazie della info intanto..... però sono dov'ero prima:
    il token come lo ottengo e dove va messo poi per fare l'interrogazione dei products?

    Possibile che non trovi niente in rete??? Mi sono rimbambito io o non c'è effettivamente?
    Ultima modifica di supermac; 15-12-2022 a 13:01
    W la Ferari effetrenavenave!
    il computer è un somaro veloce! (neanche tanto ndr)

  4. #4
    il token lo ottieni da Google, devi iscriverti

  5. #5
    Utente di HTML.it L'avatar di supermac
    Registrato dal
    Jun 2001
    Messaggi
    1,856
    Sono già iscritto (ho accesso al database).... ma il token non sarà mica la API key che compare nel pannello di amministrazione di firebase?

    Io ho capito che è una chiave temporanea che google genera "al volo" quando fai una determinata richiesta via httpclient: questa chiave dura due ore e deve essere "allegata" a tutte le istruzioni di lettura/modifica dei dati inviate via httprequest... ho capito male?
    W la Ferari effetrenavenave!
    il computer è un somaro veloce! (neanche tanto ndr)

  6. #6
    anche questa NON è roba mia

    ---------------

    Per utilizzare un token anziché le credenziali di accesso (username e password) nel codice che hai fornito, puoi sostituire la riga di codice che imposta l'autenticazione di base con una riga che imposta il token nel campo AuthToken dell'oggetto HttpClient. Ecco un esempio di codice che utilizza un token anziché le credenziali di accesso:

    codice:
    Public Async Function ForStackOverFlow(ByVal requestUri As String) As Task(Of String)
    
        requestUri = "https://XXXXXXXXX.firebaseio.com/??????????????"
        
        Using client As New HttpClient()
            ' Imposta il token per l'autenticazione
            client.DefaultRequestHeaders.Authorization = New Headers.AuthenticationHeaderValue("Bearer", "TUO_TOKEN")
    
    
            Dim URI As Uri = New Uri(requestUri)
            Dim response As HttpResponseMessage = Await client.GetAsync(URI)
            Dim content As HttpContent = response.Content
            Return Await content.ReadAsStringAsync()
        End Using
    End Function
    In questo esempio, il token viene impostato nell'intestazione Authorization dell'oggetto HttpClient prima di eseguire la chiamata HTTP al database Firebase. In questo modo, il token viene utilizzato invece delle credenziali di accesso per autenticare la chiamata HTTP.

  7. #7
    Per ottenere un token per l'autenticazione con Firebase, puoi utilizzare il metodo createCustomToken della classe FirebaseAuth di Firebase Admin SDK. Questo metodo accetta come argomento l'ID utente per il quale si desidera creare un token personalizzato e restituisce il token come risultato. Ecco un esempio di codice che utilizza il metodo createCustomToken per ottenere un token per l'utente con ID user123:

    codice:
    ' Importa la classe FirebaseAuthImports Firebase.Auth
    
    
    ' Crea una nuova istanza di FirebaseApp
    Dim app As FirebaseApp = FirebaseApp.Create(New AppOptions() With {
        .Credential = GoogleCredential.FromFile("path/to/serviceAccountKey.json")
    })
    
    
    ' Crea una nuova istanza di FirebaseAuth
    Dim auth As FirebaseAuth = FirebaseAuth.GetAuth(app)
    
    
    ' Crea un token personalizzato per l'utente con ID "user123"
    Dim token As String = auth.CreateCustomToken("user123")
    In questo esempio, viene creata una nuova istanza di FirebaseApp utilizzando le credenziali di un account di servizio di Firebase. Dopodiché, viene creata una nuova istanza di FirebaseAuth utilizzando l'istanza di FirebaseApp e viene chiamato il metodo createCustomToken per ottenere un token personalizzato per l'utente con ID user123.

  8. #8
    Utente di HTML.it L'avatar di supermac
    Registrato dal
    Jun 2001
    Messaggi
    1,856
    Ok grazie ora mi è più chiaro... faccio test!
    W la Ferari effetrenavenave!
    il computer è un somaro veloce! (neanche tanto ndr)

  9. #9

  10. #10
    Utente di HTML.it L'avatar di supermac
    Registrato dal
    Jun 2001
    Messaggi
    1,856
    La generazione del token va che è una gioia, ho generato il file con la chiave e i dati di autorizzazione e funzia benone, mi restituisce il token in un lampo.
    Mi sono arenato sugli uri da utilizzare per interrogare il db
    il getAsync(URI) con URI= https://XXXXXXXXX.firebaseio.com/products per recuperare i prodotti, ad esempio (ma ho provato anche con altre collections), si impianta e non mi restituisce niente

    Suggestions?
    W la Ferari effetrenavenave!
    il computer è un somaro veloce! (neanche tanto ndr)

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.