mengunggah file ke google drive dari aplikasi java tanpa interaksi pengguna

Saya sedang mengembangkan aplikasi Java di mana saya ingin aplikasi tersebut mengunggah file ke Google drive tanpa interaksi pengguna apa pun dan setelah menyimpan file saya ingin file tersebut dilihat oleh orang sungguhan. Bisakah Anda membantu saya mencapai hal di atas?

Masalah yang saya hadapi,

Mengautentikasi menggunakan akun milik aplikasi: Dalam kasus akun biasa: diautentikasi menggunakan kunci API tetapi tidak dapat memasukkan file. Dalam hal akun layanan: berhasil diautentikasi dan memasukkan file ke dalam drive tetapi tidak dapat dilihat oleh orang sungguhan. Menggunakan file unggahan: Saya tidak yakin di mana mendapatkan auth_code dan bagaimana mengaturnya ke header. Kode contoh akan sangat membantu.

Akan sangat bagus jika Anda dapat membantu saya dalam hal ini.


person user3912598    schedule 06.08.2014    source sumber


Jawaban (1)


Cara paling mudah adalah menginstal klien Google Drive, lalu langsung meletakkan file ke direktori Google Drive. Google Drive akan otomatis mengunggah dan mempublikasikan. Selesai.

Jika tidak, Anda harus melalui Google Drive API untuk melakukan pengunggahan dan OAuth API untuk mendapatkan auth_token. Cara pastinya berbeda-beda tergantung platform. Untuk aplikasi Java asli yang berjalan di Windows, kodenya akan terlihat seperti ini:

  try {
    GoogleTokenResponse response = new GoogleAuthorizationCodeTokenRequest(
        transport,
        jsonFactory,
        clientSecrets.getWeb().getClientId(),
        clientSecrets.getWeb().getClientSecret(),
        code,
        clientSecrets.getWeb().getRedirectUris().get(0)).execute();
    return buildEmpty().setAccessToken(response.getAccessToken());
  } catch (IOException e) {
    new RuntimeException("An unknown problem occured while retrieving token");
  }

Untuk informasi lebih lanjut:

https://developers.google.com/drive/web/examples/java

person Jeff-Inventor ChromeOS    schedule 06.08.2014
comment
Terima kasih untuk balasannya. Persyaratan saya adalah mengunggah file ke Google Drive secara terprogram menggunakan java sebagai proses latar belakang. Oleh karena itu tidak dapat memilih opsi untuk menginstal Klien Google Drive. Dalam contoh kode yang disebutkan di atas, nilai apa yang dimiliki variabel 'kode'?? Dari mana saya mendapatkan nilainya?? - person user3912598; 06.08.2014
comment
Lihat tautannya. Masih banyak lagi kodenya, saya hanya mengutip bagian intinya. - person Jeff-Inventor ChromeOS; 06.08.2014
comment
Saya juga mencoba menggunakan REST, tetapi saya tidak yakin bagaimana cara mengatur header karena saya mendapat respons sebagai 'status respons 411 Panjang Diperlukan' untuk kode berikut - person user3912598; 06.08.2014
comment
‹kode› Konfigurasi ClientConfig = DefaultClientConfig(); Klien klien = Klien.create(config); WebResource webService = client.resource(UriBuilder.fromUri(accounts.google.com/ o/oauth2/auth).build()); Respons ClientResponse = webService.header(response_type, token).header(client_id, CLIENT_ID).header(redirect_uri, REDIRECT_URI). header(cakupan, profil).header(Panjang Konten, 0).post(ClientResponse.class);‹code› - person user3912598; 06.08.2014