Saya sedang mengerjakan pengarsipan otomatis yang ditulis dengan Python. menjelaskan bagaimana kita bisa mendapatkan Show
Mari kita lihat menghubungkan ke Google Drive melalui
1. Akun Layananhttps. //blog. benjames. io/2020/09/13/otorisasi-your-python-google-drive-api-the-easy-way/ Dari tautan di atas jadi kami memiliki https. //menghibur. awan. google. com/ Konsol Pengembang Google, API, Kredensial Perpustakaan Klien Pythonhttps. // pengembang. google. com/drive/api/quickstart/python - dari sini Anda dapat menjelajahi API
https. //github. com/djhmateer/auto-archiver/blob/main/dm_drive2. py lebih banyak contoh kode untuk mengunggah, mencari file, mencari folder, membuat folder Bagikan folder dengan akun layanan misalnya Ini memungkinkan saya untuk membaca dan menulis ke folder bersama di akun google drive (dalam hal ini adalah google drive pribadi saya) dari akun layanan yaitu saya dapat melihat folder_id bersama saya kemudian dapat menulis di dalam folder itu Batas 15GB pada Akun LayananIni mengejutkan
Jadi folder yang dishare (yang kuotanya 100GB) tiba-tiba error
Itu adalah akun layanan gratis penyimpanan 15GB yang telah terlampaui https. //stackoverflow. com/a/68313988/26086 Kepemilikan FileSaya ingin pemilik folder bersama target menjadi pemilik file yang saya unggah. Ini rumit. Jadi mari kita lihat apa yang dapat dilakukan dengan ID klien OAuth 2. OAuth dengan Publish Status Testing dan External non Workspace Userhttps. // pengembang. google. com/drive/api/quickstart/python Quickstart untuk API memandu Anda menyusuri rute OAuth (dan bukan akun layanan)
Layar PersetujuanPerlu melakukan ini sebelum membuat OAuthID
Pilih Eksternal, tambahkan Judul (Pengarsip Otomatis) dan alamat email kontak dan dev (davemateer@gmail. com) Cakupan - tidak ada Pengguna uji - Saya telah menambahkan akun uji terpisah tanpa file di drive-nya (greenbranflakes@gmail. com) Buat ID OAuthNama. Auto-Archiver-Alpha (nama tidak akan ditampilkan ke pengguna akhir) Dapat mengunduh 0 (inilah yang disebut sampel kode)
Ini dibatasi untuk pengguna uji yang ditambahkan di atas Kodehttps. // pengembang. google. com/drive/api/quickstart/python dari kode di sini 3 menyimpan akses pengguna 4 dan 5 dan juga mencakup 6 dan 7Ada kedaluwarsa yang 1 jam, tapi ini bukan kedaluwarsa refresh_token Pertama kali masuk sebagai greenbranflakes@gmail. com saya dapat (saya masuk dengan beberapa akun gmail jadi harus memilih) kemudian Perhatikan ruang lingkup yang telah kami berikan melalui kode _Berhasil, aplikasi menampilkan file di greenbranflakes@gmail. com drive Berjalan lagi dan kami tidak diminta untuk masuk lagi karena 3 disimpan di sistem fileTokenSaya memiliki tugas cron yang berjalan setiap menit di server yang mungkin perlu mengunggah file menggunakan metode di atas Setelah masuk, dan token disalin ke server, bagaimana saya bisa menangani 5 yang saya yakin akan kedaluwarsa setelah 1 minggu. Ya benar -
- pembicaraan bagus di komentar tentang token penyegaran. Strategi di sini melakukan apa yang dilakukan API Python dan menghasilkan refresh_token jadi saya yakin kita tidak perlu menggunakan ini? Sepertinya hanya dapat 1 minggu _5 dengan cara ini untuk 'menguji' aplikasi sebelum harus melalui proses persetujuan lagihttps. //stackoverflow. com/questions/66058279/token-has-been-expired-or-revoked-google-oauth2-refresh-token-gets-expired-i?noredirect=1&lq=1
Berikut adalah contoh _3 yang dihasilkan setelah dijalankan melalui proses di https. // pengembang. google. com/drive/api/quickstart/python
Unggah file ke Drive milik sendiriSebagai pengguna greenbranflakes@gmail. com
https. //github. com/djhmateer/auto-archiver/blob/main/dm_drive3_upload. py memiliki contoh yang bagus tentang cara melakukan tindakan yang berbeda 3. OAuth2 dengan Pengguna Google Workspace (berbayar)https. // ruang kerja. google. com/intl/en_uk/pricing. html ini memberikan penyimpanan cloud 30GB, dan email khusus. Ini yang saya gunakan untuk perusahaan saya khusus untuk email. dave@hmsoftware. bersama. inggris Workspace dapat membeli penyimpanan dari One di bawah https. //satu. google. com/storage Ini adalah Google One tempat davemateeer@gmail saya. email com mendapatkan penyimpanan 100GB (saya menggunakannya untuk menyimpan semua foto dan cadangan saya dari iPhone) dengan harga £1. 59 per bulan https. //menghibur. awan. google. com/ mari buat proyek dan aktifkan API untuk dave@hmsoftware. bersama. inggris https. // pengembang. google. com/drive/api/quickstart/python quickstart Drive API ini adalah tempat yang bagus
Layar persetujuan OAuth, Jenis Pengguna. Intern Kredensial, Buat OAuth
0 yang merupakan kode Python menyebutnyaIni berfungsi sekarang - saya menggunakan akun layanan lama untuk berbicara dengan spreadsheet, dan akun OAuth Google Workspace baru untuk berbicara dengan Drive Tapi siapa yang tahu berapa lama _5 di 3 akan bekerja? . //stackoverflow. com/questions/66058279/token-has-been-expired-or-revoked-google-oauth2-refresh-token-gets-expired-i?noredirect=1&lq=1 kesimpulannya adalah bahwa Pengujian Eksternal dan diterbitkan, memiliki 7 hari. Dan tidak disebutkan tentang token InternalJenis Pengguna Internal/Eksternal dan Status Penerbitan Pengujian / Dalam produksi 4. OAuth dengan Publish Status Published dan External non Workspace Userkemudian kemudianSehat. ini akan bekerja setelah 1 minggu? Ini terlihat menjanjikan. Saya tidak keberatan dengan peringatan dari Google karena saya satu-satunya orang yang menggunakan layanan ini 5Lampirankunci APIhttps. // pengembang. google. com/drive/api/v3/reference/about/get About. Dapatkan Saya membuat kunci API namun tidak dapat mengotorisasinya
Terutama karena saya tidak bisa mendapatkan token akses (saya tidak menggunakan OAuth2) Akun LayananKodehttps. // pengembang. google. com/drive/api/quickstart/python Google Drive untuk Pengembang Drive API - Python https. // pengembang. google. com/drive/api/guides/manage-uploads Mencetak nama file dan ID dari semua yang dibagikan dengan akun layanan ini. Ini menghasilkan daftar datar sehingga file dalam subdirektori akan dicantumkan https. //github. com/googleworkspace/python-samples/blob/master/drive/quickstart/quickstart. py Sampel Mengunggah filehttps. //github. com/iterative/PyDrive2 - dapat menggunakan ini https. // pengembang. google. com/drive/api/guides/search-files API docs https. //github. com/googleworkspace/python-samples/tree/master/drive/driveapp Lampiran - Konsol Googlehttps. //menghibur. awan. google. com/ - tempat Anda mengizinkan akses https. // admin. google. com/ hanya digunakan untuk akun Google Workspace Lampiran - Desktop Google DriveMenggunakan Google Drive Desktop, Anda dapat melihat semua file Anda sebagai drive tertaut 8 di Windows Explorer
Bagaimana cara menggunakan API Google Drive dengan akun layanan?Untuk mengaktifkan Drive API, selesaikan langkah-langkah ini. . Buka Konsol Google API Pilih proyek Di sidebar sebelah kiri, perluas API & autentikasi dan pilih API Dalam daftar API yang tersedia yang ditampilkan, klik tautan API Drive dan klik Aktifkan API Bagaimana cara mengakses Google Drive dari Python?Otorisasi kredensial untuk aplikasi desktop . Di konsol Google Cloud, buka menu Menu > API & Layanan > Kredensial. . Klik Buat Kredensial > ID klien OAuth Klik Jenis aplikasi > Aplikasi desktop Di bidang Nama, ketikkan nama untuk kredensial. . Klik Buat. . Klik Oke Apa itu akun layanan di Google Drive?Akun layanan adalah jenis akun Google khusus yang dimaksudkan untuk mewakili pengguna non-manusia yang perlu mengautentikasi dan diberi otorisasi untuk mengakses data di Google API. Typically, service accounts are used in scenarios such as: Running workloads on virtual machines (VMs).
Bagaimana cara menggunakan Google API dengan Python?Jika Anda tidak terbiasa dengan autentikasi dan otorisasi untuk Google Workspace API, baca Ringkasan autentikasi dan otorisasi. Buat aplikasi baris perintah Python yang membuat permintaan ke Google Docs API. . Siapkan lingkungan Anda Instal pustaka klien Siapkan sampel Jalankan sampel |