Search in sources :

Example 36 with File

use of com.google.api.services.drive.model.File in project local-data-aragopedia by aragonopendata.

the class GoogleDriveAPI method listOwnerFilesAfterDate.

public List<File> listOwnerFilesAfterDate(String stringDateLastChange) {
    SimpleDateFormat formatFullDate = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    Date dateLastChange = null;
    try {
        dateLastChange = formatFullDate.parse(stringDateLastChange);
    } catch (ParseException e1) {
        log.error("Error parse date in list", e1);
    }
    FileList result;
    List<File> files = null;
    try {
        result = service.files().list().setMaxResults(500).execute();
        files = result.getItems();
    } catch (IOException e) {
        log.error("Error list files", e);
    }
    if (files == null || files.size() == 0) {
        log.error("No files found");
    } else {
        log.info("Files:\n");
        for (File file : files) {
            DateTime dateTime = file.getModifiedDate();
            Date dateModifyFile = new Date(dateTime.getValue());
            if (dateModifyFile.after(dateLastChange))
                log.info("Title " + file.getTitle() + " id " + file.getId() + " DateTime " + formatFullDate.format(dateModifyFile));
        }
    }
    return files;
}
Also used : FileList(com.google.api.services.drive.model.FileList) ParseException(java.text.ParseException) IOException(java.io.IOException) SimpleDateFormat(java.text.SimpleDateFormat) File(com.google.api.services.drive.model.File) Date(java.util.Date) DateTime(com.google.api.client.util.DateTime)

Example 37 with File

use of com.google.api.services.drive.model.File in project local-data-aragopedia by aragonopendata.

the class GoogleDriveAPI method downloadChildFile.

/**
	 * Method to download file from folder
	 * @param path String with destination file
	 * @param child ChildReference to download
	 * @throws IOException
	 */
private void downloadChildFile(String path, ChildReference child) throws IOException {
    File file = drive.files().get(child.getId()).execute();
    download(path, file);
}
Also used : File(com.google.api.services.drive.model.File)

Example 38 with File

use of com.google.api.services.drive.model.File in project local-data-aragopedia by aragonopendata.

the class GoogleDriveAPI method updateFile.

/**
	 * Method by update file
	 * 
	 * @param name
	 *            String name file
	 * @param fileContent
	 *            content file
	 * @param newMimeType
	 *            String with mime type
	 * @return boolean true if updated is success
	 */
public boolean updateFile(String name, java.io.File fileContent, String newMimeType) {
    File file = searchFile(name);
    FileContent mediaContent = new FileContent(newMimeType, fileContent);
    File updatedFile = null;
    try {
        updatedFile = drive.files().update(file.getId(), file, mediaContent).execute();
    } catch (Exception e) {
        log.error("Error actualizando fichero en google drive", e);
    }
    return (updatedFile != null);
}
Also used : FileContent(com.google.api.client.http.FileContent) File(com.google.api.services.drive.model.File) GeneralSecurityException(java.security.GeneralSecurityException) ParseException(java.text.ParseException) IOException(java.io.IOException)

Example 39 with File

use of com.google.api.services.drive.model.File in project local-data-aragopedia by aragonopendata.

the class GoogleDriveAPI method downloadFilesAfterDate.

/**
	 * Download files after a date
	 * 
	 * @param path
	 *            Path where download files
	 * @param stringDateLastChange
	 *            String with a date
	 */
public void downloadFilesAfterDate(String path, String stringDateLastChange) {
    List<File> files = listOwnerFilesAfterDate(stringDateLastChange);
    for (File file : files) {
        try {
            String downloadUrl = file.getExportLinks().get("text/csv");
            HttpResponse resp = drive.getRequestFactory().buildGetRequest(new GenericUrl(downloadUrl)).execute();
            InputStream input = resp.getContent();
            java.io.File f = new java.io.File(path + java.io.File.separator + file.getTitle() + ".csv");
            FileUtils.copyInputStreamToFile(input, f);
        } catch (Exception e) {
            log.error("Error decargando ficheros despues de una fecha en google drive", e);
        }
    }
}
Also used : InputStream(java.io.InputStream) HttpResponse(com.google.api.client.http.HttpResponse) GenericUrl(com.google.api.client.http.GenericUrl) File(com.google.api.services.drive.model.File) GeneralSecurityException(java.security.GeneralSecurityException) ParseException(java.text.ParseException) IOException(java.io.IOException)

Example 40 with File

use of com.google.api.services.drive.model.File in project local-data-aragopedia by aragonopendata.

the class GoogleDriveAPI method searchFile.

/**
	 * Method to list all files and folders of id account
	 */
public File searchFile(String name) {
    log.debug("init listOwnerFiles()");
    //		FileList result;
    List<ChildReference> list = listFolderFiles(Prop.idParentFolder);
    File file = null;
    for (ChildReference child : list) {
        try {
            file = drive.files().get(child.getId()).execute();
            if (file != null) {
                if (file.getShared() == true && file.getTitle().contains(name)) {
                    break;
                }
            }
        } catch (IOException e) {
            log.error("Error read file " + name + " in google Drive API", e);
        }
    }
    //		com.google.api.services.drive.Drive.Files.List request = null;
    //		try {
    //			request = drive.files().list().setMaxResults(1000);
    //			result = request.execute();
    //			files.addAll(result.getItems());
    //
    //		} catch (Exception e) {
    //			log.error("Error list files", e);
    //		}
    //		if (files == null || files.size() == 0) {
    //			log.error("No files found");
    //		} else {
    //			log.debug("Files:\n");
    //			for (File fileAux : files) {
    //				if (fileAux.getShared() == true && fileAux.getTitle().contains(name)) {
    //					file = fileAux;
    //					break;
    //				}
    //			}
    //		}
    log.debug("end listOwnerFiles()");
    return file;
}
Also used : ChildReference(com.google.api.services.drive.model.ChildReference) IOException(java.io.IOException) File(com.google.api.services.drive.model.File)

Aggregations

File (com.google.api.services.drive.model.File)41 Test (org.junit.Test)19 IOException (java.io.IOException)17 HashMap (java.util.HashMap)9 FileList (com.google.api.services.drive.model.FileList)7 ParseException (java.text.ParseException)7 ArrayList (java.util.ArrayList)7 FileContent (com.google.api.client.http.FileContent)6 GeneralSecurityException (java.security.GeneralSecurityException)6 GenericUrl (com.google.api.client.http.GenericUrl)4 HttpResponse (com.google.api.client.http.HttpResponse)4 Permission (com.google.api.services.drive.model.Permission)4 User (com.google.api.services.drive.model.User)4 InputStream (java.io.InputStream)4 UserRecoverableAuthIOException (com.google.api.client.googleapis.extensions.android.gms.auth.UserRecoverableAuthIOException)3 DateTime (com.google.api.client.util.DateTime)3 ParentReference (com.google.api.services.drive.model.ParentReference)3 Comment (com.google.api.services.drive.model.Comment)2 SimpleDateFormat (java.text.SimpleDateFormat)2 Date (java.util.Date)2