Google drive - maduzs/Aplikace-pro-spravu-videokartoteky-ve-formatu-ODF-ODFKartJ2 GitHub Wiki
Google Drive
Služba Google Drive poskytuje užívateľom webové úložisko pre vytváranie, načítanie, ukladanie a zdielanie súborov. V aplikácii Aplikácia pro spravu videokartoteky bude služba využitá pre ukladanie dokumentov s domácou videotékou a ich opätovné načítanie.
Pripojenie ku Google Drive
Všetky požiadavky na Google Drive musia byť autorizované autentizovaným užívateľom pomocou OAuth 2.0 protokolu.
Postup:
Užívateľ je presmerovaný na OAuth dialóg, pomocou ktorého môže aplikácii poskytnúť prístup k svojim dátam uloženým na Google Drive
Pokiaľ jej schváli, je vygenerovaný autorizačný kód.
Užívateľ vloží autorizačný kód do aplikácie
Aplikácia vytvorí autorizované pripojenie ku Google Drive
Implementácia
Komponeneta pre prácu so službou Google Drive sa skladá z dvoch tried:
GoogleConnection
GoogleDriveService
Trieda GoogleConnection
Každá inštancia triedy reprezentuje jedinečné pripojenie k službám Google. Vzhľadom na to, že sa jedná o desktopovú aplikáciu, bude v každom okamihu existovať iba jediné pripojenie k službám Google -> využijeme návrhový vzor singleton. Metódy:
public static GoogleConnection getConnection(). Vracia inštanciu GoogleConnection v aplikácii.
public String getAuthentizationUrl(). Vracia odkaz na OAuth dialog pre prihlásenie užívateľa ku svojmu účtu Google a autorizovanie aplikácie Aplikácia pro spravu videokartoteky.
public boolean connect(String code). Vytvorí pripojenie k službe Google Drive a autorizuje ju pomocou poskytnutého autorizačného kódu.
public GoogleDriveService buildService(). Ak je vytvorené pripojenie, vráti inštanciu GoogleDriveService, inak null.
public boolean close(). Uzavre pripojenie.
Trieda GoogleDriveService
Reprezentuje sieťové úložisko Google Drive. Poskytuje metody pre sťahovanie, otváranie a ukladanie súborov. Príklad použitia
GoogleConnection gc = new GoogleConnection(); GoogleDriveService gds;
String url = gc.getAuthentizationUrl();
System.out.println("Otevrete nasledujici URL a zadejte vygenerovany kod:");
System.out.println(" " + url);
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String code = br.readLine();
if (gc.connect(code)) {
gds = gc.buildService();
// Prace se sluzbou Google Drive
gds.getFiles();
// ...
}