• Home
  • /
  • Tag Archives:  google api
PHP

Script Download File Google Drive dengan PHP

Tutorial ini merupakan kelanjutan dari tutorial sebelumnya tentang upload file ke Google Drive via Google API dengan PHP. Pada tutorial ini saya akan menjelaskan cara membuat script PHP untuk menampilkan list file yang ada di akun Google Drive kita, kemudian bisa mengunduhnya. Lagi-lagi untuk membuat script ini, dibutuhkan Google API.

Seperti halnya ketika membuat script upload file, untuk membuat script download file ini kita juga membutuhkan beberapa hal, yaitu:

  • OAuth Credential File
  • PHP Google API Client Module

Untuk mendapatkan kedua hal tersebut, bisa kembali membaca artikel sebelumnya.

Namun, khusus untuk membuat file OAuth Credential File, pada bagian Authorized redirect URIs kita perlu mendefinisikan URL yang baru. Misalkan dalam contoh ini, URL dari script untuk menampilkan file list Google Drive adalah ‘http://localhost/gdrive/list.php’.

Setelah mendapatkan OAuth Credential File dan library PHP Google API Client Module, selanjutnya kita mulai coding. Dimulai dari membuat script list.php terlebih dahulu untuk menampilkan file list yang ada di Google Drive kita.

list.php

<?php
session_start();
include 'vendor/autoload.php';

$client = new Google_Client();
$client->setAuthConfig("oauth-credentials2.json");
$client->addScope("https://www.googleapis.com/auth/drive");

// service yang akan digunakan adalah Google Drive
$service = new Google_Service_Drive($client);

// mengecek jika code auth sudah ada namun token access nya blm ada
if (isset($_GET['code'])) {
  // gunakan code auth untuk mendapatkan token accessnya
  $token = $client->fetchAccessTokenWithAuthCode($_GET['code']);
  // simpan token ke session
  $_SESSION['upload_token'] = $token;
}

// mengecek jika token access nya blm ada
if (empty($_SESSION['upload_token'])){
	// lakukan login via oauth dan mendapatkan code auth
	$authUrl = $client->createAuthUrl();
	header("Location:".$authUrl);

} else {
	// jika token access sudah ada

	// gunakan token access untuk mengakses layanan Google API service
	$client->setAccessToken($_SESSION['upload_token']);
	$client->getAccessToken();

	// membaca list file
	$results = $service->files->listFiles();

	// menampilkan list file
	echo "<ul>";
	foreach ($results->getFiles() as $file) {
		echo "<li><a href='download.php?code=".$_GET['code']."&id=".$file->getID()."'>".$file->getName()."</a></li>";
	}
	echo "</ul>";
}

?>

Secara umum mekanisme yang terjadi di atas sama seperti di proses upload file, yaitu:

  1. Proses login melalui Google OAuth.
    Dari proses ini akan didapatkan code authentication. Kode ini secara otomatis akan muncul di URL parameter setelah proses redirecting dari login Google ke URL ‘http://localhost/gdrive/list.php’.
  2. Mendapatkan Token Access dari Code Authetication.
    Setelah proses login sukses, berikutnya code authentication digunakan untuk mendapatkan token access. Token access ini nanti dipakai untuk mengakses layanan API Google Drive nya

Dari script list.php di atas, perintah getID() digunakan untuk menampilkan ID dari setiap file yang ada di Google Drive. ID ini nantinya akan digunakan sebagai acuan untuk mengunduh file. Adapun getName() digunakan untuk menampilkan nama file.

Khusus untuk proses downloadnya, nanti kita buat script terpisah yaitu download.php

download.php

<?php
session_start();
include 'vendor/autoload.php';

$client = new Google_Client();
$client->setAuthConfig("oauth-credentials2.json");
$client->addScope("https://www.googleapis.com/auth/drive");
$service = new Google_Service_Drive($client);

if (isset($_GET['code'])) {
  $token = $client->fetchAccessTokenWithAuthCode($_GET['code']);
  $_SESSION['upload_token'] = $token;
}

if (empty($_SESSION['upload_token'])){
	$authUrl = $client->createAuthUrl();
	header("Location:".$authUrl);

} else {

	$client->setAccessToken($_SESSION['upload_token']);
	$client->getAccessToken();

	// membaca file ID yang akan diunduh
	$fileid = $_GET['id'];

	// membaca data file di Google Drive berdasarkan ID
	$file = $service->files->get($fileid);
	// membaca mime type dari file
	$mime = $file->getMimeType();
	// membaca nama file
	$name = $file->getName();

	// membuat header file yang akan didownload, sesuai mimenya
	header("Content-Disposition: attachment; filename=".$name);
	header("Content-type: ".$mime);

	// membaca content isi file dan menampilkan content
	$content = $service->files->get($fileid, array("alt" => "media"));

	while (!$content->getBody()->eof()) {
		echo $content->getBody()->read(1024);
	}
}

?>

Kegunaan dari MIME Type dari script download di atas supaya file tersebut bisa diunduh melalui web browser.

Adapun perintah read(1024) digunakan untuk mengatur ukuran file yang diunduh, yaitu setiap 1.024 bytes. Proses unduhan ini diatur demikian supaya proses downloadnya optimal, yaitu dengan memotong-motong ukuran filenya.

Demikian tutorial ini saya buat, semoga bermanfaat. Selamat mencoba! 😀

PHP

Upload File ke Google Drive Via Google API dengan PHP

Ingin membuat sendiri aplikasi sederhana untuk upload file ke Google Drive kita menggunakan script PHP? Tutorial ini akan menjelaskan secara detil langkah demi langkah pembuatan aplikasinya. Untuk mengintegrasikan aplikasi yang dibuat dengan PHP ke Google Drive nantinya menggunakan Google API. Meskipun agak ribet sedikit, tapi tidak sulit kok membuatnya.

PHP

Membuat Script Penyingkat URL (URL Shortener) dengan API Google

Barangkali Anda pernah menjumpai suatu URL yang panjangnya minta ampun yang sulit untuk mengingatnya, padahal URL tersebut berisi artikel atau referensi yang menarik menurut Anda. Kira-kira bisa tidak kita menyingkat URL tersebut sehingga tidak menjadi terlalu panjang sehingga mudah diingat? Tentu bisa dong, dengan URL Shortener yang memanfaatkan API Google hal ini menjadi sangat mudah. Bahkan Anda bisa membuat sendiri script untuk penyingkat URL ini dengan API Google tersebut. Dengan begitu, Anda bisa menempatkan script tersebut untuk dipakai sendiri atau ditaruh di website sehingga bisa dimanfaatkan oleh pengunjung web.

Dalam artikel ini, akan saya paparkan bagaimana cara membuat script atau function di PHP untuk menyingkat URL tersebut yang memanfaatkan API Google.

PHP

Membuat Sendiri Script PHP Penterjemah Teks dengan Google API Translate

Akhir-akhir ini saya suka sekali memposting tentang API (Application Programming Interface). Setelah kemarin memposting artikel tentang Paypal API untuk cek balance, untuk artikel kali ini saya akan mencoba memaparkan cara membuat script PHP untuk menterjemahkan teks dari bahasa tertentu ke bahasa lain memanfaatkan Google Translate API.

Dengan script buatan sendiri ini, Anda tidak perlu lagi membuka situs Google Translate setiap kali akan menterjemahkan sebuah teks, namun cukup membuka aplikasi yang telah dibuat sendiri ini. Bahkan, Anda bisa menambahkan semacam widget di situs web Anda untuk layanan penterjemahan sembarang teks.