koyabu/googledriveapi
Composer 安装命令:
composer require koyabu/googledriveapi
包简介
Google Drive API Client
README 文档
README
Library PHP sederhana untuk berinteraksi dengan Google Drive API v3, mendukung:
- OAuth2 Authorization Code Flow
- Refresh Access Token otomatis
- Membuat folder
- Upload file kecil (multipart)
- Upload file besar (resumable / chunked)
- Download file
- Mendapatkan metadata file lengkap
- Membuat dan menghapus share link (permissions)
- Mendapatkan URL file siap pakai di
<img>atau<video> - Penanganan error terpusat
- Kompatibel dan siap dipublish via Composer
📦 Instalasi
Instalasi melalui composer:
composer require koyabu/googledriveapi
🔧 Konfigurasi Google Drive App
- Buka https://console.developers.google.com/
- Buat project baru
- Aktifkan Google Drive API
- Buat OAuth 2.0 Client ID
- Atur Redirect URI, contoh:
https://example.com/drive/callback - Catat Client ID dan Client Secret
🚀 Cara Menggunakan
1. Inisialisasi Class
use Koyabu\GoogleDriveApi\GoogleDriveClient; $drive = new GoogleDriveClient([ 'client_id' => 'YOUR_CLIENT_ID', 'client_secret' => 'YOUR_CLIENT_SECRET', 'redirect_uri' => 'https://example.com/drive/callback', ]);
2. Mendapatkan Authorization URL
echo $drive->getAuthUrl();
User akan login dan mendapatkan authorization code.
3. Tukar Authorization Code menjadi Token
$token = $drive->fetchAccessToken($_GET['code']); // Simpan access token & refresh token
4. Membuat Folder
$result = $drive->createFolder('Backup'); if (!$result) { echo $drive->lastError; }
5. Upload File Kecil (<10 MB)
$drive->uploadFile(__DIR__.'/file.txt', 'file.txt', $folderId); // folderId optional
6. Upload File Besar (>10 MB)
$drive->uploadLargeFile(__DIR__.'/video.mp4', 'video.mp4', $folderId); // folderId optional
7. Download File
$drive->downloadFile($fileId, __DIR__.'/downloaded_video.mp4');
8. Get File Metadata
$info = $drive->fileInfo($fileId); print_r($info);
- Termasuk
webViewLinkdanwebContentLinksiap pakai untuk<img>atau<video>
9. Get Public URL untuk Web Embedding
$publicUrl = $drive->getFileUrl($fileId, 'content'); // 'view' atau 'content'
'view'→ webViewLink (preview)'content'→ webContentLink (raw download, bisa langsung di<img>atau<video>)
Contoh penggunaan di <img> atau <video>:
echo '<img src="' . $publicUrl . '" alt="Image">';
echo '<video controls><source src="' . $publicUrl . '" type="video/mp4"></video>';
10. Create / Remove Share Link (Permissions)
$permission = $drive->createShareLink($fileId, 'reader', 'anyone'); $drive->removeShareLink($fileId, $permissionId);
📝 Catatan Penting
- Pastikan timezone dan server clock sinkron.
- Refresh token harus disimpan secara permanen (database/file).
- Access token bisa berubah setelah refresh.
- Untuk file besar, gunakan
webContentLinklangsung di<video>tag untuk streaming. fileInfoRaw()hanya untuk file kecil (<2MB) agar aman untuk memori.getFileUrl()helper memudahkan embed file di web.
🧩 Struktur Direktori Disarankan
/
│── src/
│ └── GoogleDriveClient.php
│── composer.json
│── README.md
│── LICENSE
🧪 composer.json Contoh
{
"name": "koyabu/googledriveapi",
"description": "Google Drive API Client",
"type": "library",
"license": "MIT",
"autoload": {
"psr-4": {
"Koyabu\\Googledriveapi\\": "src/"
}
},
"authors": [
{
"name": "Stieven Kalengkian",
"email": "stieven.kalengkian@gmail.com"
}
],
"minimum-stability": "dev",
"require": {
"google/apiclient": "^2.0"
}
}
🤝 Kontribusi
Pull request, bug report, dan perbaikan sangat diterima.
📄 Lisensi
MIT License atau sesuai kebutuhan Anda.
koyabu/googledriveapi 适用场景与选型建议
koyabu/googledriveapi 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 11 次下载、GitHub Stars 达 0, 最近一次更新时间为 2025 年 11 月 27 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 koyabu/googledriveapi 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 koyabu/googledriveapi 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 11
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 11
- 依赖项目数: 2
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2025-11-27