예제 #1
0
        //realizar los llamados a la api rest
        private String ObtenerIDDeCarpeta(String carpetaCrear)
        {
            String  idCarpeta = "";
            APIRest api       = new APIRest();

            api.Method      = "GET";
            api.Token       = Token;
            api.API         = this.API;
            api.ContentType = "application/json";
            api.URI         = rutaOneDriveDefault + carpetaCrear;

            try
            {
                dynamic drive = api.HacerPeticion();
                idCarpeta = drive.id;
            }
            catch { }

            try
            {
                if (idCarpeta.Equals(""))
                {
                    idCarpeta = CrearCarpeta(carpetaCrear);
                }
            }
            catch (Exception ex)
            {
                throw new Exception("No fue posible crear la carpeta.", ex);
            }
            return(idCarpeta);
        }
예제 #2
0
        private void CommitArchivoPorChunks(String nombreArchivo, String uploadID_offset)
        {
            try
            {
                APIRest api = new APIRest();
                api.Method = "POST";
                //api.Token = this.Token;
                api.API = "https://content.dropboxapi.com/1";
                //api.ContentType = "application/octet-stream";
                //api.ByteData = bytesArchivo;
                string rutaDropbox = carpeta + nombreArchivo;
                if (uploadID_offset != null)
                {
                    String upload_id = uploadID_offset.Split('|')[0];
                    uploadID_offset = "upload_id=" + upload_id + "&";
                }
                api.URI = "/commit_chunked_upload/auto/" + rutaDropbox + "?" + uploadID_offset + "access_token=" + this.Token.Replace("bearer ", "");

                dynamic drive = api.HacerPeticion();

                //return drive.upload_id;
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
예제 #3
0
        private void SubirFragmentoDeArchivo(byte[] fragmento, String urlSession, long indiceDesde, long totalBytes)
        {
            APIRest api = new APIRest();

            api.Method   = "PUT";
            api.Token    = this.Token;
            api.API      = this.API;
            api.ByteData = fragmento;
            dynamic drive = api.HacerPeticion(urlSession, indiceDesde, totalBytes);
        }
예제 #4
0
        private void SubirArchivoDirectamente(String nombreArchivo, byte[] bytesArchivo, String FolderID)
        {
            APIRest api = new APIRest();

            api.Method      = "PUT";
            api.Token       = this.Token;
            api.API         = this.API;
            api.ContentType = "application/octet-stream";
            api.ByteData    = bytesArchivo;
            api.URI         = "/drive/items/" + FolderID + "/children/@nombreArchivo/content".Replace("@nombreArchivo", nombreArchivo);

            dynamic drive = api.HacerPeticion();
        }
예제 #5
0
        private String CrearSessionParaSubirArchivoPorFragmentos(String nombreArchivo, String carpetaID)
        {
            APIRest api = new APIRest();

            api.Method      = "POST";
            api.Token       = this.Token;
            api.API         = this.API;
            api.ContentType = "application/json";
            api.URI         = "/drive/items/{parent_item_id}:/{filename}:/upload.createSession".Replace("{parent_item_id}", carpetaID).Replace("{filename}", nombreArchivo);
            String jsonTemp = "{\"item\": {\"@name.conflictBehavior\": \"rename\",\"name\": \"@NombreArchivoSubirGrande\"}}".Replace("@NombreArchivoSubirGrande", nombreArchivo);

            api.ByteData = System.Text.Encoding.UTF8.GetBytes(jsonTemp);
            dynamic drive = api.HacerPeticion();

            return(drive.uploadUrl);
        }
예제 #6
0
        private void SubirArchivoDirectamente(String nombreArchivo, byte[] bytesArchivo)
        {
            try
            {
                APIRest api = new APIRest();
                api.Method = "PUT";
                //api.Token = this.Token;
                api.API         = "https://content.dropboxapi.com/1";
                api.ContentType = "application/octet-stream";
                api.ByteData    = bytesArchivo;
                string rutaDropbox = carpeta + nombreArchivo;
                api.URI = "/files_put/auto/" + rutaDropbox + "?access_token=" + this.Token.Replace("bearer ", "");

                dynamic drive = api.HacerPeticion();
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
예제 #7
0
 private String CrearCarpeta(String nombreCarpeta)
 {
     try
     {
         APIRest api = new APIRest();
         api.Method      = "POST";
         api.Token       = this.Token;
         api.API         = this.API;
         api.ContentType = "application/json";
         api.URI         = rutaOneDriveDefault;
         String jsonTemp = "{\"name\": \"@folderCrear\", \"folder\": { },\"@name.conflictBehavior\": \"rename\"}".Replace("@folderCrear", nombreCarpeta);
         api.ByteData = System.Text.Encoding.UTF8.GetBytes(jsonTemp);
         dynamic drive = api.HacerPeticion();
         return(drive.id);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }