Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    [PILLOLA/JAVA] Guida su come integrare Dropbox nelle nostre Applicazioni Java

    Ciao a tutti ragazzi, ho scritto una piccola guida per spiegare come integrare il famoso sito di Cloud Storage (Dropbox) all'interno dei vostri programmi JAVA.


    Allora iniziamo da subito!


    Prima di svolgere ogni tipo di attività dobbiamo registrarci (qualora già non lo fossimo) su DropBox,entrare nella sezione Sviluppatori, cliccare su Core API e scaricare l'SDK per Java.


    Adesso andiamo nella sezione "AppConsole" in questa pagina possiamo creare l'applicazione di Dropbox che avrà il compito di interagire con il nostro Software.


    Clicchiamo su CREATE APP e selezioniamo Dropbox API app, si aprirà un piccolo Menù, dove potremmo scegliere se creare una cartella separata dove effettuare il backup dei File, o se usare la cartella principale dell'account, a voi la scelta!! In termini pratici non cambia praticamente nulla.


    Scelta quale directory usare dentro il sito, rimarrà solo che specificare su quali tipi di File lavorare.(Io vi consiglio di selezionare "All type of Files" non sisà mai nella vita).


    Fatta quest'ultima scelta dovrete dare un nome alla vostra applicazione. (Nomi con Dropbox, drop o box non verranno accettati.)


    Completate queste operazioni, avrete finalmente creato la vostra applicazione Dropbox ed entrerete nella sezione di Gestione dell'applicazione.


    La prima cosa che salta all'occhio sono le 3 chiavi di accesso che servono per comunicare da codice con dropbox.


    APP KEY
    APP SECRET
    ACCESS TOKEN


    Sull'access token si deve fare una precisazione, se si va a vedere i tutorial di Dropbox per la connessione con server, si utilizza una procedura secondo me un pò bruttina in termini pratici.
    (In pratica ogni volta che tramite l'appKey e l'appSecret si richiama la vostra applicazione Web dropbox vi risponderà con un URL dove troverete un "mini-accessToken"che vi darà accesso solo per quella sessione.)
    L'access token generato dall'appConsole crea un codice che potrà essere utilizzato tutte le volte che si vorrà, saltando il procedimento che vi ho spiegato prima.

    Questa è la parte riguardante la creazione della applicazione di DropBox nella seconda parte vedremo come integrare Dropbox nel codice Java.

  2. #2

    Seconda parte della Guida riguardante il codice Java

    Adesso siamo arrivati alla parte bella,integrare DropBox da codice Java, prima di tutto, estraiamo il contenuto dell'SDK di dropbox in una cartella a nostro piacimento,apriamo Eclipse e creiamo un nuovo progetto.


    Una volta creato il nuovo progetto,clicchiamo con il tasto destro sopra di esso e andiamo su" Properties", Java Build Path e infine su Add External Jar.


    Arrivati qui spostiamoci sulla cartella dove abbiamo estratto il contenuto dell'SDK di Dropbox, andiamo sulla cartella "lib" e selezioniamo i file all'interno.


    Completati questi passaggi possiamo finalmente iniziare a scrivere il nostro codice.

    Dropbox funziona in maniera molto semplice, ci servirà un metodo per stabilire una connessione con il server, un metodo per il download dei file, uno per l'upload dei file e un metodo per vedere i file contenuti all'interno della nostra applicazione Web.

    Vi posto il codice da me scritto:

    codice:
    import com.dropbox.core.*;
    
    
    public class DropBox{
       StringAPP_KEY =newString();
       StringAPP_SECRET= newString();
       StringaccessToken= newString();
       DbxRequestConfigconfig;
       DbxAppInfoappInfo;
       DbxWebAuthNoRedirectwebAuth;
       DbxClientclient;
       String[]vd;
    
    
       //METODOCHE SI OCCUPA DI EFFETTUARE LA CONNESSIONE A DROPBOX
      public void creaConnessione(String AppKey,String AppSecret,
               String accessToken1){
          APP_KEY= AppKey;
          APP_SECRET= AppSecret;
          this.accessToken= accessToken1;
          appInfo= newDbxAppInfo(APP_KEY,APP_SECRET);
          config= newDbxRequestConfig("JavaTutorial/1.0",Locale.getDefault()
                   .toString());
          webAuth= newDbxWebAuthNoRedirect(config,appInfo);
          client= newDbxClient(config,accessToken);
      }
    
    
       //METODO PER VEDERE IL CONTENUTO DELLA DIRECTORY DI DROPBOX
       public String[] listingFolders() throwsDbxException {
          int i = 0;
           DbxEntry.WithChildrenlisting =client.getMetadataWithChildren("/");
          for(DbxEntry child: listing.children)
              i++;
          vd= newString[i];
          int j = 0;
          for(DbxEntry child: listing.children){
              vd[j]= child.name;
          j++;
          }
      return vd;
       }
    
       //METODO CHE SI OCCUPA DI CARICARE I FILE SU DROPBOX
       public boolean uploadFileBackup(FileinputFile, String percorso)
      throws DbxException, IOException {
           FileInputStream inputStream= new FileInputStream(inputFile);
          try{
               DbxEntry.FileuploadedFile= client.uploadFile(percorso+ "/"
                       +inputFile.getName(),DbxWriteMode.force(),
              inputFile.length(),inputStream);
           }finally{
              inputStream.close();
           }
      return true;
       }
    
    
      //METODO PER IL DOWNLOAD DEI FILE
        public void downloadFile(String nomeFile, String destinazione,
                String percorso) throws DbxException, IOException {
            FileOutputStream outputStream = new FileOutputStream(destinazione + "/"
                    + nomeFile);
            try {
                DbxEntry.File downloadedFile = client.getFile("/" + percorso + "/"
                        + nomeFile, null, outputStream);
            } finally {
                outputStream.close();
            }
        }
    }

    Questi sono alcuni dei metodi che ho usato per crearmi una sorta di Dropbox personale con funzioni in più rispetto a quelle del programma originale.

    Spero che la guida sia chiara e che possa tornare utile a tutti.

    Se notate qualche errore o qualche modifica per migliorare il codice scritto ditemi pure!


    Grazie a tutti!!
    Ultima modifica di diabolik03; 31-07-2015 a 11:52

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.