Google Drive API Nedir?
Google Drive API, kullanıcıların Drive bulut depolama alanını kullanarak uygulama geliştirmesine olanak tanıyan bir araçtır. Bu özellik sayesinde Google Drive ile entegre uygulamalar geliştirebilir ve uygulamalarınızda güçlü işlevsellik yaratabilirsiniz.
Bu araçla neler yapabilirsiniz?
Bu seçenek şu amaçlarla kullanılabilir:
- Drive’a dosya indirin ve yükleyin.
- Dosyaları ve klasörleri arayın.
- Dosya kaynağından herhangi bir meta veri alanını döndüren karmaşık arama sorguları oluşturun.
- Kullanıcıların içerik üzerinde işbirliği yapabilmesi için dosyaları, klasörleri ve sürücüleri paylaşmasına izin verin.
- Picker API ile birleştirin ve Google Drive’daki tüm dosyaları arayın; dosya adını, URL’yi, değiştirilme tarihini ve kullanıcıyı döndürün.
- Drive’ın dışındaki verilere yönlendiren harici bağlantılar oluşturarak kısayollar yaratın; veriler farklı bir veri deposu veya bulut depolama sistemi içinde saklanıyor olabilir.
- Uygulamanızın verilerini depolamak için özel bir klasör oluşturun; böylece uygulamanız kullanıcıya ait tüm içeriğe erişemez.
- Drive dosyalarıyla etkileşim kurmanıza olanak veren Drive arayüzüyle entegrasyon.
API ile başarılı bir şekilde çalışmak için bir API Anahtarı edinmelisiniz. Nasıl yapacağınızı görelim.
Google Drive API Anahtarı Nasıl Alınır
API anahtarınızı üretmek için hesabınızın mevcut proje üzerinde Temel Editör rolüne sahip olması gerekir.
API anahtarını kurmak için şu adımları izleyin:
- Cloud Google Drive API konsolundaki APIs & Services → Credentials panosunu açın.
- Kimlik bilgileri oluşturmayı seçin ve ardından açılır listeden API anahtarını seçin.
- Diyalog ekranı yeni API anahtarınızı gösterecek.
API anahtarınızın hangi web sayfalarına, IP adreslerine veya uygulamalara uygulanabileceğini belirtmeniz gerekiyorsa, uygulama tipinize göre uygulama kısıtlamaları eklemekten çekinmeyin. Unutmayın ki API anahtarı başına yalnızca bir kısıtlama türü ayarlayabilirsiniz.
API’leri kullanmanın başka bir yolu – çeşitli platformlardan veri almak. Örneğin, web sitenize Google yorumlarını gömün. Bu özellik, Elfsight’ten hazır kullanılabilir bir web uygulaması olan Google Yorumlar Bileşeni gibi mevcuttur.
Google Drive API Kullanımı: Örnekler
Google Drive API’yi kullanmanın birkaç yolu vardır. Bunlardan bazılarını inceleyelim.
Örnek 1: Google Drive API ile dosya yükleme
Bir dosya kaynağı oluşturduğunuzda veya güncellediğinizde dosya verisi yükleyebilirsiniz. Yapabileceğiniz üç tür yükleme vardır:
- Basit. Küçük bir dosyanın hızlı aktarımı için uygundur (5 MB veya daha az).
- Çok parçalı yükleme. Küçük bir dosya ile dosyayı tanımlayan meta veriyi tek bir istekte hızlıca aktarmak için kullanılabilir.
- Yeniden Başlatılabilir Yükleme. Daha güvenilir aktarım için yapılabilir; özellikle büyük dosyalar için önemlidir.
Bu örnek bir basit yükleme isteğini gösterir:
POST googleapis/upload/drive/v3/files?uploadType=media HTTP/1.1 Content-Type: image/jpeg Content-Length: [NUMBER_OF_BYTES_IN_FILE] Authorization: Bearer [YOUR_AUTH_TOKEN] [JPEG_DATA]
Bir parçalı yükleme isteği şu şekilde görünebilir:
POST googleapis/upload/drive/v3/files?uploadType=multipart HTTP/1.1
Authorization: Bearer [YOUR_AUTH_TOKEN]
Content-Type: multipart/related; boundary=foo_bar_baz
Content-Length: [NUMBER_OF_BYTES_IN_ENTIRE_REQUEST_BODY]
--foo_bar_baz
Content-Type: application/json; charset=UTF-8
{
"name": "myObject"
}
--foo_bar_baz
Content-Type: image/jpeg
[JPEG_DATA]
--foo_bar_baz--
Bu örnek, yeni bir dosya yüklemek için devam eden bir oturumun nasıl başlatılacağını gösterir:
POST googleapis/upload/drive/v3/files?uploadType=resumable HTTP/1.1
Authorization: Bearer [YOUR_AUTH_TOKEN]
Content-Length: 38
Content-Type: application/json; charset=UTF-8
X-Upload-Content-Type: image/jpeg
X-Upload-Content-Length: 2000000
{
"name": "myObject"
}
Çoğu Google API istemci kitaplığı en az bu yöntemlerden birini kullanır. Yöntemlerden her birinin nasıl kullanılacağını öğrenmek için buraya tıklayın.
Örnek 2: Google Drive API ile dosya paylaşımı
Her Google Drive dosyasının ilişkili İzinler kaynağı vardır. Her kaynak, belirli bir tür ve rol için izni tanımlar; örneğin, “yorumcu” veya “okuyucu”. Bir dosya veya klasörü paylaşmak için kullanıcının yazar rolüne sahip olması gerekir.
İzin oluştururken aşağıdaki alanlar gereklidir:
- Tür: İzin kapsamını belirler – kullanıcı, grup, alan adı veya herkes.
- Rol. Türün hangi işlemleri yapabildiğini belirler.
Bir istemci kütüphanesiyle yetkilendirme işleminin bir örneği.
String fileId = "1sTWaJ_j7PkjzaBWtNc3IzovK5hQf21FbOw9yLeeLPNQ";
JsonBatchCallback<Permission> callback = new JsonBatchCallback<Permission>() {
@Override
public void onFailure(GoogleJsonError e,
HttpHeaders responseHeaders)
throws IOException {
// Handle error
System.err.println(e.getMessage());
}
@Override
public void onSuccess(Permission permission,
HttpHeaders responseHeaders)
throws IOException {
System.out.println("Permission ID: " + permission.getId());
}
};
BatchRequest batch = driveService.batch();
Permission userPermission = new Permission()
.setType("user")
.setRole("writer")
.setEmailAddress("user@example.com");
driveService.permissions().create(fileId, userPermission)
.setFields("id")
.queue(batch, callback);
Permission domainPermission = new Permission()
.setType("domain")
.setRole("reader")
.setDomain("example.com");
driveService.permissions().create(fileId, domainPermission)
.setFields("id")
.queue(batch, callback);
batch.execute();'
Dosya, klasör ve sürücü paylaşımı hakkında daha fazla bilgi için buraya bakın.
Örnek 3: Google Drive API ile dosya arama ve klasördeki dosyaları listeleme
Belirli bir dosya ve klasör kümesini aramak için, döndürülecek dosyaları filtrelemek amacıyla sorgu dizesi q ile files.list kullanmalısınız.
Aşağıdaki örnek, sorgu dizesinin biçimini gösterir:
query_term operatör değerleri
Nerede:
-
query_termarama yapılacak terim veya alandır. Paylaşılan sürücüler için filtrelemek amacıyla kullanılabilecek sorgu terimlerini incelemek için Arama sorgu terimleri bakın. operatörsorgu terimi için koşulu belirtir. Her sorgu terimiyle hangi operatörleri kullanabileceğinizi görmek için Sorgu operatörleri sayfasına bakabilirsiniz.valuesarama sonuçlarınızı filtrelemek için kullandığınız belirli değerlerdir.
Aşağıdaki örnek, bir istemci kütüphanesi kullanarak arama sonuçlarını JPEG görüntülerin dosya adları ve kimlikleriyle filtrelemenin nasıl yapılacağını gösterir.
String pageToken = null;
do {
FileList result = driveService.files().list()
.setQ("mimeType='image/jpeg'")
.setSpaces("drive")
.setFields("nextPageToken, files(id, name)")
.setPageToken(pageToken)
.execute();
for (File file : result.getFiles()) {
System.out.printf("Found file: %s (%s)n",
file.getName(), file.getId());
}
pageToken = result.getNextPageToken();
} while (pageToken != null);
Daha fazla örnek için buraya bakın. buraya bakın.
Örnek 4: Google Drive Elektronik Tablo API’si
Yeni bir elektronik tablo oluşturmak için aşağıdaki örnekte gösterildiği gibi spreadsheet koleksiyonunda create() metodunu kullanın.
Spreadsheet spreadsheet = new Spreadsheet()
.setProperties(new SpreadsheetProperties()
.setTitle(title));
spreadsheet = service.spreadsheets().create(spreadsheet)
.setFields("spreadsheetId")
.execute();
System.out.println("Spreadsheet ID: " + spreadsheet.getSpreadsheetId());
Örnek 5: Google Drive API ile dosya silme
Çöp kutusuna göndermeden dosyayı ID ile kalıcı olarak silebilirsiniz. Şu anda kimlik doğrulaması yapan kullanıcı dosyaya sahip olmalı ya da Paylaşılan Sürücü dosyaları için üst dizinde düzenleyici olmalıdır. Bu yöntemin kod örneği:
import com.google.api.services.drive.Drive;
import java.io.IOException;
// ...
public class MyClass {
// ...
/**
* Permanently delete a file, skipping the trash.
*
* @param service Drive API service instance.
* @param fileId ID of the file to delete.
*/
private static void deleteFile(Drive service, String fileId) {
try {
service.files().delete(fileId).execute();
} catch (IOException e) {
System.out.println("An error occurred: " + e);
}
}
// ...
}
Google Drive API Dokümantasyonu
Gerekli Google Drive API belgelerini şu adreste bulabilirsiniz burada. Geliştiriciler için API ile çalışmaya ait tüm dosyalar ve sitenize entegrasyonuyla ilgili bilgiler içerir.
Google Drive API limitleri ve fiyatlandırması
Google Drive API kullanımı dünya çapında kullanıcılar için tamamen ücretsizdir. Ancak bazı kullanım sınırları vardır:
| İstekler | Kısıtlamalar |
| Günlük İstek Sayısı | 1,000,000 |
| Kullanıcı başına 100 saniyede istekler | 1,000 |
Varsayılan değerden fazlasına ihtiyaç duyarsanız, “Kotalar” sekmesinde daha fazla kota talep etmek için bir bağlantı bulabilirsiniz. Ayrıca fiyatlandırma hakkında daha fazla bilgi için bu sayfaya bakın bu sayfaya bakın.
SSS (Sık Sorulan Sorular)
Google Drive API için yeterli iznim yok. Ne yapmalıyım?
Listeden doğru kapsamı şu bağlantıdan seçin here. Bu, Google Drive API izni yetersizliği sorununu çözecektir.
Drive API ile nasıl yardım alabilirsiniz?
Teknik sorularınızı paylaşmak için Q&A sitesi Stack Overflow’u kullanabilirsiniz. Geliştiriciler genellikle bu hizmetle ilgili soruları işaretlemek için [google-drive-api] etiketini kullanır.
Google Drive API ne kadar ücretli?
Google Drive API kullanımı tamamen ücretsizdir. Ancak bazı sınırlamalar vardır. Yukarıdaki Fiyatlandırma bölümündeki tabloyu görebilirsiniz.
Drive API’yi nasıl kullanmaya başlayabilirim?
İlk Google Drive uygulamanızı yapılandırmak ve çalıştırmak için bir Hızlı Başlangıç seçeneğini deneyebilirsiniz.
Sonuç
Gördüğünüz gibi Google Drive API ile çalışmak o kadar da zor değil. API anahtarını edinmek üç dakikadan kısa sürer ve bu Drive API kılavuzu işinize yarayacak.
Şimdi söyleyin: Bu aracı kullanıyor musunuz? Çalışırken hiç zorluk yaşadınız mı? Düşüncelerinizi yorumlarda paylaşın! Ayrıca blogumuzu yakında ziyaret etmeyi unutmayın.


