Apakah Google Drive mendukung PHP
Unggah file ke Google Drive menggunakan PHP
Ringkasan:
google Drive adalah layanan penyimpanan cloud yang memungkinkan pengguna untuk menyimpan dan berbagi file. Di artikel ini, kami akan membahas cara mengunggah file ke Google Drive menggunakan PHP. Kami akan membahas langkah -langkah yang terlibat dalam membangun skrip PHP untuk mengunggah file ke Google Drive dan menjelaskan prosesnya secara rinci. Artikel ini juga akan memberikan instruksi tentang cara membuat proyek Google dan mengaktifkan drive API, serta cara membuat tabel basis data untuk menyimpan informasi file.
Poin -Poin Kunci:
1. Menginstal Perpustakaan Klien PHP: Sebelum memulai, Anda perlu menginstal Perpustakaan Klien PHP untuk Google Drive. Instruksi untuk instalasi dapat ditemukan di google API PHP Client Library ReadMe.
2. Apakah Google Drive mendukung PHP?: Ya, Google Drive mendukung PHP. Ini menyediakan layanan API REST yang memungkinkan Anda untuk mengunggah secara terprogram dan mengelola file di Google Drive menggunakan PHP.
3. Mengunggah file ke Google Drive: Untuk mengunggah file ke Google Drive menggunakan PHP, Anda harus membangun formulir HTML untuk memilih file yang akan diunggah. File akan diunggah ke server lokal, dan informasinya akan dimasukkan ke dalam database. Pengguna kemudian perlu mengotentikasi dengan akun Google mereka, dan file akan diunggah ke Google Drive dari skrip PHP. Status Unggah File akan ditampilkan, bersama dengan tautan untuk melihat file di Google Drive.
4. Membuat Proyek Google dan Mengaktifkan API Drive: Untuk melakukan panggilan API ke Google Drive, Anda akan memerlukan kunci API. Anda dapat memperoleh kunci ini dengan membuat proyek Google dan mengaktifkan drive API. Instruksi tentang cara membuat proyek Google dan mengaktifkan drive API disediakan dalam artikel.
5. Membuat Tabel Basis Data: Untuk menyimpan informasi file di server lokal, Anda harus membuat tabel database. Artikel ini mencakup instruksi tentang cara membuat tabel yang diperlukan.
Pertanyaan:
1. Bagaimana cara menginstal pustaka klien php untuk google drive?
Untuk menginstal pustaka klien PHP untuk Google Drive, Anda dapat mengikuti instruksi yang disediakan di Perpustakaan Klien PHP Google API ReadME. Pastikan untuk memeriksa versi terbaru dari perpustakaan di repositori paket php.
2. Dapatkah saya menggunakan PHP untuk mengunggah file ke Google Drive?
Ya, Google Drive mendukung PHP. Anda dapat menggunakan PHP untuk mengunggah file secara terprogram ke Google Drive dengan menggunakan drive API.
3. Apa langkah -langkah yang terlibat dalam mengunggah file ke Google Drive menggunakan PHP?
Langkah -langkah yang terlibat dalam mengunggah file ke Google Drive menggunakan PHP adalah sebagai berikut:
- Bangun formulir HTML untuk memilih file yang akan diunggah.
- Unggah file ke server lokal dan masukkan informasinya ke dalam database.
- Mengotentikasi pengguna dengan akun Google mereka.
- Unggah file ke Google Drive dari skrip PHP.
- Tampilkan status Unggah File dan berikan tautan untuk melihat file di Google Drive.
4. Bagaimana cara membuat proyek Google dan mengaktifkan drive API?
Untuk membuat proyek Google dan mengaktifkan API Drive, Anda dapat mengikuti langkah -langkah ini:
- Pergi ke konsol Google API.
- Pilih proyek yang ada atau buat yang baru.
- Di bilah samping, pilih “Perpustakaan” di bawah bagian “APIS & Services”.
- Cari API Google Drive dan aktifkan.
- Masukkan detail aplikasi Anda dan tentukan domain resmi.
- Pilih jenis aplikasi sebagai “Aplikasi Web” dan berikan URI Redirect Resmi.
- Catat ID Klien dan Rahasia Klien untuk digunakan nanti.
5. Apakah saya perlu membuat tabel database untuk mengunggah file ke Google drive menggunakan php?
Ya, Anda perlu membuat tabel basis data untuk menyimpan informasi file di server lokal. Tabel ini akan digunakan untuk memasukkan informasi file sebelum mengunggahnya ke Google Drive.
6. Bagaimana cara melihat file yang diunggah ke Google Drive menggunakan PHP?
Setelah mengunggah file ke Google Drive menggunakan PHP, Anda dapat memberikan tautan untuk melihat file di Google Drive. Tautan dapat dihasilkan menggunakan pengidentifikasi unik file yang disediakan oleh drive API.
7. Dapatkah saya mengunggah beberapa file ke Google Drive menggunakan PHP?
Ya, Anda dapat mengunggah banyak file ke Google Drive menggunakan PHP. Anda dapat memodifikasi skrip PHP untuk menangani beberapa unggahan file dan mengunggahnya ke Google Drive satu per satu.
8. Apakah ada batas ukuran file untuk mengunggah file ke Google Drive menggunakan PHP?
Google Drive memiliki batas ukuran file 5 TB untuk masing -masing file. Namun, pembatasan tertentu mungkin berlaku berdasarkan rencana penyimpanan Google Drive Anda. Pastikan untuk memeriksa batas penyimpanan akun Google Drive Anda.
9. Bagaimana cara menangani kesalahan pengunggahan file saat mengunggah file ke Google Drive menggunakan PHP?
Untuk menangani kesalahan pengunggahan file saat mengunggah file ke Google Drive menggunakan PHP, Anda dapat menerapkan mekanisme penanganan kesalahan dalam skrip PHP Anda. Anda dapat memeriksa kesalahan umum seperti batas ukuran file terlampaui, format file tidak valid, atau ruang penyimpanan yang tidak mencukupi di Google Drive.
10. Dapatkah saya menghapus file dari Google Drive menggunakan PHP?
Ya, Anda dapat menghapus file dari Google Drive menggunakan PHP. Drive API menyediakan metode untuk menghapus file dari Google Drive secara terprogram. Anda dapat menggunakan metode ini dalam skrip PHP Anda untuk menghapus file berdasarkan kebutuhan Anda.
Unggah file ke Google Drive menggunakan PHP
Anda perlu menginstal pustaka klien php ini dapat dilakukan dengan menggunakan komposer. Instruksi untuk ini dapat ditemukan di google API PHP Client Library ReadMe. Saya merekomendasikan untuk memeriksa nomor versi terbaru di repositori paket php
Apakah Google Drive mendukung PHP
Об этой страницental
Ы заре kondecedit. С помощю этой страницы с сожем определить, что запросы о о ancing оеет иенно ы,. Почем это мопо произойтиonya?
Эта страница отбражаетсagn в тех слчаях, когда аавистркимисте secara Google ристancing ииишшшamah риииииamah которые наршают уловия исполззованияisah. Страница перестанет отображаться после то A, как эти запросы прекратяupanisah яяisah ancing ancing. До это A.
Источником запросов может слжить Врддносно secara п, пар иа бас00 иасазаз) ыылку запросов. Если Вы исползеет общий дсст в и итернет, проблем м ы ы ip ip ip00 ip ip ip ip ip uman ip ip ip ip ip ip uman ip ip ip ip ip ip ip uman ip ip ip ip ip ip ip ON ip ip ip ip ip ip ON. Обратитесь к своем системном аинистратору. Подробнее secara.
Пожет такжeda появлят secara, если Вы Вонот A рлжвввв dari рыч о оаilat оыч о оаilat, еами, ии же Водитedit запросы чень часто засто.
Unggah file ke Google Drive menggunakan PHP
google Drive adalah mesin penyimpanan cloud yang memungkinkan pengguna untuk menyimpan dan berbagi file secara efisien. File disinkronkan di seluruh perangkat dan dapat diakses dari mana saja. Google Drive membuat manajemen dokumen mudah tanpa penyimpanan pribadi. Anda juga dapat mengelola file dan folder di Google Drive dari jarak jauh menggunakan drive API.
Itu Drive API memungkinkan mengelola file dan folder yang disimpan di Google Drive. Anda dapat mengunggah dan mengelola file dari situs web menggunakan Google Drive API. Jika aplikasi web mengharuskan pengguna untuk mengakses atau mengelola file Google Drive, Drive API menyediakan cara sederhana untuk mengunggah file ke Google Drive secara terprogram dengan Layanan API REST. Tutorial ini menjelaskan cara Unggah file ke Google Drive menggunakan PHP.
Dalam contoh ini skrip PHP, proses berikut akan diimplementasikan Unggah file ke Google Drive dengan php.
- Bangun formulir HTML untuk memilih file untuk mengunggah.
- Unggah file ke server lokal dan masukkan info file di database.
- Otentikasi pengguna dengan akun Google.
- Unggah file ke Google Drive dari skrip PHP.
- Tampilkan status unggahan file dengan tautan untuk melihat file di google drive.
Sebelum mulai membangun skrip PHP Unggah file ke Google Drive Menggunakan PHP, lihat struktur file.
google_drive_file_upload_with_php/ ├── konfigurasi.PHP ├── DBConfig.PHP ├── Indeks.PHP ├── Unggah.PHP ├── Google_Drive_Sync.PHP ├── GoogledRiveAPI.kelas.PHP └── CSS/ └─ "gaya.CSS
Buat Proyek Google dan aktifkan API Drive
Proyek Google diperlukan untuk mendapatkan kunci API yang akan digunakan untuk melakukan panggilan API ke Google Drive. Jika Anda sudah memiliki aplikasi Google yang ada, tombol API dapat digunakan darinya. Pastikan saja bahwa Google Drive API diaktifkan dalam proyek Google yang ada ini. Jika kamu tidak’t Aplikasi Google apa pun, ikuti langkah -langkah di bawah ini untuk mendaftarkan aplikasi Anda di Google Developers Console dan mendapatkan kunci API.
- Pergi ke konsol Google API.
- Pilih proyek yang ada dari daftar proyek, atau klik PROYEK BARU Untuk membuat proyek baru:

- Ketik Nama Proyek.
- ID Proyek akan dibuat secara otomatis di bawah bidang Nama Proyek. (Opsional) Anda dapat mengubah ID proyek ini dengan Edit tautan, tetapi harus unik di seluruh dunia.
- Klik MEMBUAT tombol.
- Di bilah samping, pilih Perpustakaan di bawah APIS & Layanan bagian.
- Cari layanan Google Drive API di daftar API dan pilih Google Drive API.
- Klik MEMUNGKINKAN Tombol untuk menyediakan perpustakaan API Google Drive.
- Masukkan Nama Aplikasi.
- Pilih email dukungan.
- Tentukan Domain resmi yang akan diizinkan untuk mengotentikasi menggunakan oauth.
- Klik Menyimpan tombol.
- Dalam Tipe aplikasi bagian, pilih aplikasi web.
- Dalam URI Redirect Resmi bidang, tentukan URL pengalihan.
- Klik Membuat tombol.
Kotak dialog akan muncul dengan detail klien OAuth, perhatikan ID klien dan rahasia klien untuk digunakan nanti dalam skrip. ID klien dan rahasia klien ini memungkinkan Anda untuk mengakses API Google Drive.

Perhatikan bahwa: ID Klien Dan Rahasia Klien Perlu ditentukan pada saat panggilan API Google Drive. Juga, URI Redirect Resmi harus dicocokkan dengan URL pengalihan yang ditentukan dalam skrip.
Buat Tabel Basis Data
Tabel diperlukan dalam database untuk menyimpan informasi file di server lokal. SQL berikut membuat tabel drive_files dengan beberapa bidang dasar di database MySQL.
MEMBUAT MEJA `drive_files` ( `id` int(11) BUKAN BATAL Auto_increment, `file_name` varchar(255) MENYUSUN utf8_unicode_ci BAWAAN BATAL, `google_drive_file_id` varchar(255) MENYUSUN utf8_unicode_ci BAWAAN BATAL, `dibuat` tanggal Waktu BUKAN BATAL BAWAAN Current_timestamp(), UTAMA KUNCI (`id`)) MESIN=Innodb BAWAAN Charset= utf8 MENYUSUN= utf8_unicode_ci;
Perpustakaan PHP Google Drive
Google menyediakan perpustakaan klien PHP untuk melakukan panggilan API drive, tetapi berisi banyak layanan tambahan yang dilengkapi dengan sejumlah besar file dan ukurannya besar. Untuk membuat prosesnya sederhana, kami akan membangun perpustakaan khusus untuk menangani panggilan API Google Drive dengan PHP.
Kita Perpustakaan Google API Membantu mengotentikasi dengan akun Google dan mengakses drive API dengan REST API menggunakan PHP CURL. Perpustakaan PHP khusus ini akan digunakan Google Drive V3 API untuk menangani proses unggahan file.
- GetAccessToken () – Ambil token akses dari Google OAuth 2 API menggunakan kode otentikasi.
- Unggahfiletodrive () – Kirim file ke Google Drive untuk diunggah menggunakan REST API.
- UpdateFilemeta () – Perbarui metadata file yang diunggah di Google Drive.
/**
*
* Kelas pawang API Google Drive ini adalah perpustakaan PHP khusus untuk menangani panggilan API Google Drive.
*
* @class googledriveapi
* @Author CodexWorld
* @link http: // www.Codexworld.com
* @versi 1.0
*/
kelas GoogledRiveAPI <
const Oauth2_token_uri = 'https: // oauth2.Googleapis.com/token ';
const Drive_file_upload_uri = 'https: // www.Googleapis.com/unggah/drive/v3/file ';
const Drive_file_meta_uri = 'https: // www.Googleapis.com/drive/v3/file/';
fungsi __membangun($ params = array ()) <
jika (menghitung($ params)> 0) <
$ ini->inisialisasi($ params);
>
>
fungsi inisialisasi($ params = array ()) <
jika (menghitung($ params)> 0) <
untuk setiap ($ params sebagai $ key => $ val) <
if (isset ($ ini->$ key)) <
$ ini->$ key = $ val;
>
>
>
>
fungsi publik GetAccessToken($ client_id, $ redirect_uri, $ client_secret, $ kode) <
$ curlpost = 'client_id =' . $ client_id . '& redirect_uri =' . $ redirect_uri . '& client_secret =' . $ client_secret . '& kode ='. $ kode . '& Grant_type = otorisasi_code';
$ ch = curl_init();
curl_setopt($ ch, Curlopt_url, diri sendiri::Oauth2_token_uri);
curl_setopt($ ch, Curlopt_ReturnTransfer, 1);
curl_setopt($ ch, Curlopt_post, 1);
curl_setopt($ ch, CURLOPT_SSL_VERIFYPEER, PALSU);
curl_setopt($ ch, Curlopt_postfields, $ curlpost);
$ data = json_decode(curl_exec($ ch), BENAR);
$ http_code = curl_getinfo($ ch,Curlinfo_http_code);
jika ($ http_code != 200) <
$ error_msg = 'Gagal menerima token akses';
jika (curl_errno($ ch)) <
$ error_msg = curl_error($ ch);
>
Lemparkan Baru Pengecualian('Kesalahan'.$ http_code.':'.$ error_msg);
>
kembali $ data;
>
fungsi publik Unggahfiletodrive($ access_token, $ file_content, $ mime_type) <
$ apiurl = diri sendiri::Drive_file_upload_uri . '?unggahType = media ';
$ ch = curl_init();
curl_setopt($ ch, Curlopt_url, $ apiurl);
curl_setopt($ ch, Curlopt_ReturnTransfer, 1);
curl_setopt($ ch, Curlopt_post, 1);
curl_setopt($ ch, CURLOPT_SSL_VERIFYPEER, PALSU);
curl_setopt($ ch, Curlopt_httpheader, Himpunan('Jenis konten: '.$ mime_type, 'Otorisasi: pembawa'. $ access_token));
curl_setopt($ ch, Curlopt_postfields, $ file_content);
$ data = json_decode(curl_exec($ ch), BENAR);
$ http_code = curl_getinfo($ ch,Curlinfo_http_code);
jika ($ http_code != 200) <
$ error_msg = 'Gagal mengunggah file ke Google Drive';
jika (curl_errno($ ch)) <
$ error_msg = curl_error($ ch);
>
Lemparkan Baru Pengecualian('Kesalahan'.$ http_code.':'.$ error_msg);
>
kembali $ data['pengenal'];
>
fungsi publik UpdateFilemeta($ access_token, $ file_id, $ file_meatadata) <
$ apiurl = diri sendiri::Drive_file_meta_uri . $ file_id;
$ ch = curl_init();
curl_setopt($ ch, Curlopt_url, $ apiurl);
curl_setopt($ ch, Curlopt_ReturnTransfer, 1);
curl_setopt($ ch, Curlopt_post, 1);
curl_setopt($ ch, CURLOPT_SSL_VERIFYPEER, PALSU);
curl_setopt($ ch, Curlopt_httpheader, Himpunan('Tipe konten: aplikasi/json', 'Otorisasi: pembawa'. $ access_token));
curl_setopt($ ch, Curlopt_customRequest, 'Tambalan');
curl_setopt($ ch, Curlopt_postfields, json_encode($ file_meatadata));
$ data = json_decode(curl_exec($ ch), BENAR);
$ http_code = curl_getinfo($ ch,Curlinfo_http_code);
jika ($ http_code != 200) <
$ error_msg = 'Gagal memperbarui metadata file';
jika (curl_errno($ ch)) <
$ error_msg = curl_error($ ch);
>
Lemparkan Baru Pengecualian('Kesalahan'.$ http_code.':'.$ error_msg);
>
kembali $ data;
>
>
?>
Konfigurasi database dan API (konfigurasi.PHP)
Di konfigurasi.File PHP, Pengaturan Basis Data dan Variabel Konstanta Konfigurasi API Google.
Konstanta basis data:
- DB_HOST – Tentukan host database.
- DB_USERNAME – Tentukan Nama Pengguna Basis Data.
- DB_PASSWORD – Tentukan kata sandi basis data.
- DB_NAME – Tentukan nama database.
Konstanta Google API:
- Google_client_id – Tentukan ID Klien Proyek Google.
- Google_client_secret – Tentukan rahasia klien proyek Google.
- Google_oauth_scope – Tentukan ruang lingkup oauth untuk otentikasi google (diatur ke https: // www.Googleapis.com/auth/drive).
- Redirect_uri – Tentukan URL Callback.
Google OAuth URL:
- $ googleoauthurl – URL yang memungkinkan pengguna untuk mengotentikasi dengan akun Google.
// Konfigurasi Basis Data
mendefinisikan('Db_host', 'Mysql_database_host');
mendefinisikan('Db_username', 'Mysql_database_username');
mendefinisikan('Db_password', 'Mysql_database_password');
mendefinisikan('Db_name', 'Mysql_database_name');
// Konfigurasi API Google
mendefinisikan('Google_client_id', 'Google_project_client_id');
mendefinisikan('Google_client_secret', 'Google_project_client_secret');
mendefinisikan('Google_oauth_scope', 'https: // www.Googleapis.com/auth/drive ');
mendefinisikan('Redirect_uri', 'https: // www.contoh.com/google_drive_sync.php ');
// Mulai sesi
jika(!session_id()) session_start();
// URL Google OAuth
$ googleoauthurl = 'https: // akun.Google.com/o/oauth2/auth?scope = ' . Urlencode(Google_oauth_scope) . '& redirect_uri =' . Redirect_uri . '& response_type = Code & client_id =' . Google_client_id . '& access_type = online';
?>
Perhatikan bahwa: ID klien dan rahasia klien dapat ditemukan di halaman Google API Manager dari proyek konsol API.
Koneksi Database (DBConfig.PHP)
DBConfig.File PHP digunakan untuk menghubungkan dan memilih database MySQL menggunakan PHP.
// Sertakan file konfigurasi
membutuhkan_once 'Config.php ';
// Buat koneksi basis data
$ db = baru mysqli(Db_host, Db_username, Db_password, Db_name);
// Periksa koneksi
jika ($ db->connect_error) <
mati("Koneksi gagal: " . $ db->connect_error);
>
Formulir Upload File (Indeks.PHP)
Buat formulir HTML untuk memilih file untuk mengunggah semua jenis file (.jpg, .jpeg, .png, .pdf, .xlsx, .CSV, dll).
- Atribut enctype harus didefinisikan di < form >Tag untuk mengizinkan unggahan file.
- Pada pengiriman, data file diposting ke skrip sisi server (unggah.php) untuk pemrosesan lebih lanjut.
// Sertakan file konfigurasi
termasuk_once 'Config.php ';
$ status = $ statusMSG = '';
jika(!kosong($ _Sesi['Status_Response'])) <
$ status_response = $ _Sesi['Status_Response'];
$ status = $ status_response['status'];
$ statusMSG = $ status_response['status_msg'];
Unset ($ _Sesi['Status_Response']);
>
?> jika(!kosong($ statusMSG)) ?> Div kelas="Peringatan Peringatan- gema $ status; ?>"> gema $ statusMSG; ?> Div> > ?> Div kelas="col-md-12"> membentuk metode="pos" tindakan="mengunggah.php " kelas="membentuk" enctype="multipart/form-data"> Div kelas="kelompok bentuk"> label>Label file> memasukkan jenis="mengajukan" nama="mengajukan" kelas="Bentuk-Kontrol"> Div> Div kelas="kelompok bentuk"> memasukkan jenis="kirim" kelas="Form-Kontrol BTN-Primary" nama="kirim" nilai="Mengunggah"/> Div> membentuk> Div>
Menyimpan file di database (unggah.PHP)
Unggahan.File PHP menangani unggahan file dalam proses penyisipan php dan data ke database MySQL.
- Dapatkan info file dari bidang input menggunakan Php $ _files variabel.
- Validasi input untuk memeriksa apakah bidang wajib kosong.
- Unggah file ke server lokal dan masukkan data file dalam database menggunakan PHP dan MySQL.
- Redirect Pengguna ke URL OAuth untuk otentikasi dengan akun Google.
// Sertakan file konfigurasi basis data
membutuhkan_once 'DBConfig.php ';
$ statusMSG = $ Valerr = '';
$ status = 'bahaya';
// Jika formulir diserahkan
if (isset ($ _Post['kirim'])) <
// Validasi bidang input formulir
if (kosong ($ _Files["mengajukan"] ["nama"])) <
$ Valerr .= 'Silakan pilih file untuk diunggah.
';
>
// Periksa apakah input pengguna kosong
if (kosong ($ Valerr)) <
$ targetDir = "Unggah/";
$ fileName = nama dasar($ _Files["mengajukan"] ["nama"]);
$ targetFilePath = $ targetDir . $ fileName;
// Unggah file ke server lokal
jika(move_uploaded_file($ _Files["mengajukan"] ["tmp_name"], $ targetFilePath)) <
// Masukkan data ke dalam database
$ sqlq = "Sisipkan ke drive_files (file_name, dibuat) nilai (?,SEKARANG())";
$ stmt = $ db->mempersiapkan($ sqlq);
$ stmt->bind_param("S", $ db_file_name);
$ db_file_name = $ fileName;
$ insert = $ stmt->menjalankan();
jika($ insert) <
$ file_id = $ stmt->insert_id;
// Simpan ID referensi DB file dalam sesi
$ _Sesi['last_file_id'] = $ file_id;
header("Lokasi: $ googleoauthurl");
KELUAR();
> lain <
$ statusMSG = 'Ada yang salah, coba lagi setelah beberapa waktu.';
>
> lain <
$ statusMSG = 'File Unggah gagal, coba lagi setelah beberapa waktu.';
>
> lain <
$ statusMSG = 'Harap isi semua bidang wajib:
'
.memangkas($ Valerr, '
');
>
> lain <
$ statusMSG = 'Form Submission Gagal!';
>
$ _Sesi['Status_Response'] = array ('status' => $ status, 'status_msg' => $ statusMSG);
header("Lokasi: Indeks.php ");
KELUAR();
?>
Unggah file ke Google Drive (google_drive_sync.PHP)
Script ini diatur sebagai pengalihan uri dalam konfigurasi Google API. Ini berarti setelah otentikasi dengan akun Google, pengguna akan diarahkan ke skrip ini yang menangani proses unggah file Google Drive dengan REST API menggunakan PHP.
- Dapatkan kode oAuth dari string kueri URL menggunakan Php $ _get variabel.
- Sertakan dan inisialisasi kelas penangan API Google Drive.
- Dapatkan ID Referensi File dari Database Lokal dari Sesi.
- Ambil info file dari database berdasarkan ID referensi.
- Ambil file dari server dan tentukan seluruh file ke dalam string menggunakan file_get_contents () Fungsi dalam PHP.
- Dapatkan tipe file MIME menggunakan mime_content_type () Fungsi dalam PHP.
- Dapatkan Token Akses dengan Kode Otentikasi Menggunakan Fungsi GetAccessToken () dari Kelas GoogledRiveAPI.
- Kirim dan Unggah File ke Google Drive Menggunakan fungsi unggahanfiletodrive () dari kelas GoogledRiveAPI.
- Perbarui Data Meta File di Google Drive Menggunakan Fungsi UpdateFilemeta () dari kelas GoogledRiveAPI.
- Perbarui ID Referensi File Google Drive di database.
- Tampilkan status unggahan file dengan tautan akses file Google Drive.
// Sertakan kelas penangan API Google Drive
termasuk_once 'GoogledRiveAPI.kelas.php ';
// Sertakan file konfigurasi basis data
membutuhkan_once 'DBConfig.php ';
$ statusMSG = '';
$ status = 'bahaya';
if (isset ($ _Get['kode'])) <
// Inisialisasi kelas API Google Drive
$ Googledriveapi = baru GoogledRiveAPI();
// Dapatkan ID Referensi File dari Sesi
$ file_id = $ _Sesi['last_file_id'];
jika(!kosong($ file_id)) <
// Ambil detail file dari database
$ sqlq = "Pilih * dari drive_files where style =" color: #007700 ">;
$ stmt = $ db->mempersiapkan($ sqlq);
$ stmt->bind_param("Saya", $ db_file_id);
$ db_file_id = $ file_id;
$ stmt->menjalankan();
$ hasil = $ stmt->get_result();
$ filedata = $ hasil->fetch_assoc();
jika(!kosong($ filedata)) <
$ file_name = $ filedata['nama file'];
$ target_file = 'mengunggah/'.$ file_name;
$ file_content = file_get_contents($ target_file);
$ mime_type = mime_content_type($ target_file);
// Dapatkan Token Akses
jika(!kosong($ _Sesi['google_access_token'])) <
$ access_token = $ _Sesi['google_access_token'];
> lain <
$ data = $ Googledriveapi->GetAccessToken(Google_client_id, Redirect_uri, Google_client_secret, $ _Get['kode']);
$ access_token = $ data['access_token'];
$ _Sesi['google_access_token'] = $ access_token;
>
jika(!kosong($ access_token)) <
mencoba <
// Unggah file ke Google Drive
$ drive_file_id = $ Googledriveapi->Unggahfiletodrive($ access_token, $ file_content, $ mime_type);
jika($ drive_file_id) <
$ file_meta = array (
'nama' => nama dasar($ file_name)
);
// Perbarui file metadata di Google Drive
$ drive_file_meta = $ Googledriveapi->UpdateFilemeta($ access_token, $ drive_file_id, $ file_meta);
jika($ drive_file_meta) <
// Perbarui referensi file Google Drive di database
$ sqlq = "Perbarui drive_files set google_drive_file_id =? Where style = "color: #007700">;
$ stmt = $ db->mempersiapkan($ sqlq);
$ stmt->bind_param("Si", $ db_drive_file_id, $ db_file_id);
$ db_drive_file_id = $ drive_file_id;
$ db_file_id = $ file_id;
$ UPDATE = $ stmt->menjalankan();
Unset ($ _Sesi['last_file_id']);
Unset ($ _Sesi['google_access_token']);
$ status = 'kesuksesan';
$ statusMSG = 'File telah berhasil diunggah ke Google Drive!
'
;
$ statusMSG .= '.
$ drive_file_meta['pengenal'].'"target =" _ blank ">'.$ drive_file_meta['nama'].'';
>
>
> Tangkap (Pengecualian $ e) <
$ statusMSG = $ e->GetMessage();
>
> lain <
$ statusMSG = 'Gagal mengambil token akses!';
>
> lain <
$ statusMSG = 'File data tidak ditemukan!';
>
> lain <
$ statusMSG = 'Referensi file tidak ditemukan!';
>
$ _Sesi['Status_Response'] = array ('status' => $ status, 'status_msg' => $ statusMSG);
header("Lokasi: Indeks.php ");
KELUAR();
>
?>
Daftar periksa untuk pengujian:
Verifikasi Aplikasi Google:
Google membutuhkan verifikasi aplikasi untuk menggunakan drive API. Anda perlu mengirimkan aplikasi untuk verifikasi untuk membuat Google Project publik.
Dalam mode pengembangan, Anda dapat mengujinya dengan menambahkan pengguna uji di layar OAuth Consent dari aplikasi Google.
Di halaman Kredensial Klien OAuth, klik Layar persetujuan OAuth tautan.


Kesimpulan
Unggah file ke Google Drive dengan REST API sangat berguna saat Anda ingin mengunggah gambar atau mendokumentasikan file ke Google Drive secara dinamis dari situs web. Itu PHP Curl Fungsi membantu menghubungi API REST untuk mengakses Google Drive API dari skrip. Tidak hanya mengunggah file tetapi juga Anda dapat membuat folder, melihat/memperbarui/menghapus file menggunakan Google Drive API dan PHP. Jika Anda ingin menyimpan scape di server, file dapat diunggah ke Google Drive dan referensi dapat digunakan untuk mengakses file dari Google Drive.
Apakah Anda ingin mendapatkan bantuan implementasi, atau memodifikasi atau meningkatkan fungsionalitas skrip ini? Klik di sini untuk mengirimkan permintaan layanan
Jika Anda memiliki pertanyaan tentang skrip ini, kirimkan ke komunitas QA kami – ajukan pertanyaan
Sederhana Cara Mengintegrasikan Google Drive API dengan PHP. 2

Apakah Anda ingin mengintegrasikan API Google Drive dengan PHP? Dalam tutorial ini kita akan melihat cara mengintegrasikan Google Drive API dengan PHP. Jika Anda ingin mengintegrasikan skrip PHP Anda ke akun Google Drive Anda tidak’T harus sulit. Bahkan menggunakan pustaka klien php itu bisa menjadi sangat maju. Dalam posting ini kita akan melihat cara membuat skrip sederhana yang dirancang untuk dijalankan di server. Bukan kode ini tidak akan dijalankan sebagai aplikasi web. Ini hanyalah skrip konsol.
- 1 Buat kredensial aplikasi yang diinstal
- 2 komposer
- 3 otorisasi
- 4 Google Drive API dengan PHP
- 5. Kesimpulan
Buat kredensial aplikasi yang diinstal
Hal pertama yang Anda perlukan adalah membuat kredetis.file json. Ini dapat dibuat di google cloud console pastikan untuk membuat kredensial asli.
Komposer
Anda perlu menginstal pustaka klien php ini dapat dilakukan dengan menggunakan komposer. Instruksi untuk ini dapat ditemukan di google API PHP Client Library ReadMe. Saya merekomendasikan untuk memeriksa nomor versi terbaru di repositori paket php
Komposer membutuhkan Google/Apiclient:^2.12.1
Otorisasi
Kode ini dirancang untuk menyimpan otorisasi pengguna dalam file yang disebut token.json. Setelah Anda mengesahkan aplikasi setelah token refresh akan disimpan di sana. Kemudian ketika aplikasi berjalan lagi, ia akan dapat menggunakan token refresh untuk meminta token akses baru untuk mengakses akun Google Drive Anda.
Token penyegaran peringatan akan berakhir setelah tujuh hari saat proyek Anda diatur untuk menguji di Google Cloud Console. Pergi ke layar OAuth dan atur ke produksi dan token refresh akan berhenti kedaluwarsa.
https: // pengembang.Google.com/identitas/protokol/oauth2#kedaluwarsa
Bagian kode yang menangani otorisasi untuk kami adalah sebagai berikut
$ authurl = $ client-> createUuthurl ();
printf ("Buka tautan berikut di browser Anda: \ n%s \ n", $ authurl);
Cetak 'Masukkan kode verifikasi:';
$ authcode = trim (fgets (Stdin));
// pertukaran kode otorisasi untuk token akses.
$ accessToken = $ client-> fetchAccessTokenWithAuthCode ($ authcode);
$ client-> setAccessToken ($ accessToken);
Salin tautan otorisasi dan letakkan di browser web apa pun. Mengesahkan aplikasi. Anda akan melihat kesalahan 400 di jendela browser saat selesai abaikan ini. Ini karena penghapusan OOB. Jika Anda melihat bilah URL di dalam string yang dikembalikan adalah kode. http: // localhost/?kode =4/0AX4XFWGU3P6QQHEOGZ7NITCLTYDT3TF_BV-A1KI4UOEM0CZPHIXRPD8TenLUXTA-SKFLLA& scope = https: // www.Googleapis.com/auth/drive.readonly Ini adalah kode yang Anda tambahkan ke aplikasi Anda. Anda hanya dapat menggunakan kode sekali.
Kode kemudian akan mengambil token akses dengan kode otorisasi ini.
Menggunakan kode berikut kami menyimpan token yang dikembalikan ke token.file json untuk digunakan nanti
// Simpan token ke file.
jika (!file_exists (dirname ($ tokenPath))) mkdir (dirname ($ tokenPath), 0700, true);
>
file_put_contents ($ tokenPath, json_encode ($ client-> getAccessToken ()));
Token penyegaran peringatan akan berakhir setelah tujuh hari saat proyek Anda diatur untuk menguji di Google Cloud Console. Pergi ke layar OAuth dan atur ke produksi dan token refresh akan berhenti kedaluwarsa.
https: // pengembang.Google.com/identitas/protokol/oauth2#kedaluwarsa
Google Drive API dengan PHP
Sekarang aplikasi Anda diizinkan, Anda dapat menghubungi Google Drive API. Ingatlah bahwa setiap metode memiliki satu atau lebih lingkup yang diperlukan untuk mengakses metode itu. Anda dapat menemukan ruang lingkup yang dibutuhkan dalam dokumentasi untuk setiap metode. Misalnya file.Daftar akan menunjukkan kepada Anda ruang lingkup mana yang harus Anda minta dari otorisasi. Dalam skrip ini saya hanya meminta untuk membaca hanya ruang lingkup yang berarti jika Anda mencoba membuat file.membuatnya tidak akan berhasil. Jika Anda mengubah ruang lingkup dalam skrip ini, ingatlah untuk menghapus token.file json sehingga skrip akan meminta otorisasi pengguna lagi.
memerlukan __Dir__ . ‘/Vendor/Autoload.php ‘;
if (php_sapi_name () != ‘CLI’) Lempar pengecualian baru (‘Aplikasi ini harus dijalankan pada baris perintah.’);
>
Gunakan Google \ Client;
Gunakan Google \ Service \ Drive;
/** * Mengembalikan klien API resmi. * @kembali Klien Objek Klien yang Resmi */ function getClient ()
$ client = klien baru ();
$ client-> setApplicationName (‘Google Drive API PHP QuickStart’);
$ client-> setScopes (‘https: // www.Googleapis.com/auth/drive.readonly ‘);
$ client-> setAuthConfig (‘c: \ youtube \ dev \ kredensial.json ‘);
$ client-> setAccessType (‘offline’);
$ client-> setredirectur (“http: // 127.0.0.1 “);
$ client-> setPrompt (‘select_account consent’);
// Muat token resmi yang sebelumnya dari file, jika ada.
// token file.JSON menyimpan akses dan menyegarkan token pengguna, dan sedang
// dibuat secara otomatis saat aliran otorisasi selesai untuk yang pertama
// waktu.
$ tokenPath = ‘token.json ‘;
if (file_exists ($ tokenPath)) $ accessToken = json_decode (file_get_contents ($ tokenPath), true);
$ client-> setAccessToken ($ accessToken);
>
// Jika tidak ada token sebelumnya atau kedaluwarsa.
if ($ client-> isAccessTokenExired ()) // Segarkan token jika memungkinkan, lain ambil yang baru.
if ($ client-> getRefreshToken ()) $ client-> fetchAccessTokenwithRefreshToken ($ client-> getRefreshToken ());
> else // Minta otorisasi dari pengguna.
$ authurl = $ client-> createUuthurl ();
printf (“Buka tautan berikut di browser Anda: \ n%s \ n”, $ authurl);
Cetak ‘Masukkan kode verifikasi:’;
$ authcode = trim (fgets (Stdin));
// pertukaran kode otorisasi untuk token akses.
$ accessToken = $ client-> fetchAccessTokenWithAuthCode ($ authcode);
$ client-> setAccessToken ($ accessToken);
// Periksa untuk melihat apakah ada kesalahan.
if (array_key_exists (‘error’, $ accessToken)) melempar pengecualian baru (gabungkan (‘,’, $ accessToken));
>
>
// Simpan token ke file.
jika (!file_exists (dirname ($ tokenPath))) mkdir (dirname ($ tokenPath), 0700, true);
>
file_put_contents ($ tokenPath, json_encode ($ client-> getAccessToken ()));
>
mengembalikan $ klien;
>
// Dapatkan klien API dan buat objek layanan.
$ client = getClient ();
$ service = drive baru ($ klien);
// Cetak 10 acara berikutnya di kalender pengguna.
mencoba
$ optParams = array (
‘halaman’ => 10,
file ‘bidang’ => ‘(id, name, mimetype)’,
‘q’ => ‘mimetype = “application/vnd.aplikasi Google.folder “dan” root “pada orang tua ‘,
‘orderby’ => ‘nama’
);
$ hasil = $ service-> file-> listFiles ($ optParams);
$ file = $ hasil-> getFiles ();
if (kosong ($ file)) cetak “Tidak ada file yang ditemukan.\N”;
> Lain cetak “file: \ n”;
foreach ($ file sebagai $ file) $ id = $ file-> id;
printf (“%s-(%s)-(%s) \ n”, $ file-> getId (), $ file-> getName (), $ file-> getMimetype ());
>
>
>
Catch (Exception $ E) // TODO (Pengembang) – Menangani kesalahan dengan tepat gema ‘pesan:’ .$ e-> getMessage ();
>
Kesimpulan
Mengesahkan skrip PHP Anda untuk terhubung ke Google Drive API cukup sederhana setelah Anda memiliki kode. Menggunakan pustaka klien php dan memungkinkannya untuk menangani semua otorisasi untuk kita membuat hidup kita jauh lebih mudah.
Ingatlah untuk membuat kredensial aplikasi yang diinstal untuk menjalankan skrip ini. Saya memiliki video yang menunjukkan caranya. Ingatlah untuk mengaktifkan API Google Drive di bawah Perpustakaan
Pos terkait:
- Sederhana Cara Mengintegrasikan PHP dengan Google Analytics Admin API.
- Google Apis Auth Sederhana
- Sederhana Cara Mengunggah File ke Google Drive dengan Go Lang.
- Otentikasi google dengan ikal
Memindahkan halaman web statis dari Google Drive ke lingkungan yang ramah PHP?
Google Drive membuat hidup cukup mudah, karena saya dapat membuat file secara lokal dan menangani sinkronisasi.
Apa yang akan Anda rekomendasikan untuk dilihat/dilihat?
19.9k 6 6 Lencana Emas 51 51 Lencana Perak 99 99 Lencana Perunggu
Ditanya 8 Mei 2014 pukul 17:20
1.135 10 10 Lencana Perak 19 19 Lencana Perunggu
Permintaan Google Sederhana “Google Drive PHP” mengarah ke dokumen Google ini: Dukungan.Google.com/drive/jawaban/2881970?hl = en yang dengan jelas menyatakan: tidak ada php. Anda mungkin perlu mengerjakan definisi Anda tentang “seluruh”
9 Mei 2014 jam 0:48
Itu bukan pertanyaan saya. Itu agak saya jelas.. Saya butuh alternatif
9 Mei 2014 jam 5:48
3 Jawaban 3
Hal pertama, skrip sisi server tidak diperbolehkan saat berkendara. Meskipun di Google, Anda dapat menggunakan Google App Engine untuk keperluan skrip. Lebih banyak bahasa sekarang didukung di sini, seperti Go, PHP, Python dan Java. Anda dapat mempelajari mesin aplikasi.
Hal kedua, untuk mendapatkan pengalaman hosting yang lebih baik, membeli beberapa ruang server. Untuk tujuan pembelajaran, Anda dapat mendaftar di banyak layanan hosting gratis. Kemudian beralih ke versi berbayar.
25.3K 15 15 Lencana Emas 91 91 Lencana Perak 178 178 Lencana Perunggu
Dijawab 8 Mei 2014 jam 17:31
CPrakashagr CPrakashagr
751 11 11 Lencana Perak 28 28 Lencana Perunggu
Google Drive tidak dibuat untuk apa yang Anda coba lakukan.
Anda mungkin ingin melihat ke Google Cloud atau Google App Engine.
Dijawab 8 Mei 2014 jam 17:24
4.843 9 9 Lencana Emas 50 50 Lencana Perak 93 93 Lencana Perunggu
Google cloud baru bagi saya.. Dapat Google Cloud Host Situs seperti Google Drive?
8 Mei 2014 pukul 17:30
Google Drive tidak dapat meng -host situs web. Dokumen dan konten statis lainnya tetapi tidak ada yang dinamis. Anda benar -benar harus pergi dengan perusahaan hosting. Cari Hosting Bagikan Itulah yang Anda butuhkan.
8 Mei 2014 jam 17:33
TIDAK.. Google Drive juga dapat meng -host seluruh situs web di folder. Tapi itu harus statis. Tidak dinamis seperti yang Anda katakan dan terbatas dengan ukuran drive
8 Mei 2014 jam 17:38
Google Drive tidak mengizinkan PHP. Itu dinyatakan [dalam dokumentasi] (https: // dukungan.Google.com/drive/jawaban/2881970?hl = en), yang merupakan tautan pertama saat Anda Google “Google Drive PHP”
Untuk menjalankan kode pada file yang dihosting di Google, Anda perlu menggunakan Google App Engine. Itu menjalankan php, java, python, go.
Tapi mungkin bukan yang Anda cari. Menggunakan situs web klasik, Hoster mungkin merupakan pendekatan yang lebih baik
Dijawab 8 Mei 2014 jam 17:24
19.9k 6 6 Lencana Emas 51 51 Lencana Perak 99 99 Lencana Perunggu
Saya memiliki situs saya di Google Drive untuk sementara. Bisakah Anda menyenangkan saya memberikan referensi, bagaimana saya bisa berintegrasi dengan drive?
8 Mei 2014 jam 17:28
Mungkin lebih baik jika Anda meminta saya untuk mencari, “Google API” (itulah yang saya butuhkan) daripada Anda pergi untuk tautan ini dan memperpendeknya.
8 Mei 2014 jam 17:41
THX untuk menurunkan jawaban yang akurat untuk komentar nakal 🙂 Anda memerlukan hosting situs web biasa. Mencoba tetap pada Google Drive akan membutuhkan waktu lebih banyak waktu. Juga sebagai aturan umum: meminta “bagaimana saya melakukan ini” tanpa menyelidiki referensi yang diberikan tidak dianggap ramah masyarakat. Anggapan Anda melakukannya, akan bermanfaat untuk menyatakan sesuatu seperti “Saya melihat tautan, tautan, tautan tetapi masih tidak tahu/mengerti” dll. Hanya bertanya menciptakan kesan freeloader. Baca etiket situs untuk info lebih lanjut
9 Mei 2014 jam 0:44
Downvoting bukan aku. Sebelum meminta saya untuk melihat aturan situs, lihat reputasi saya. Downvote membutuhkan 125 reputasi. Saya tidak bisa melakukannya. Saya tidak akan melakukannya. Ini beberapa yang lain. Saya pikir Anda juga perlu mempelajari ini
