Google Drive API’sini nasıl kullanırsınız ve API anahtarını nasıl edinebilirsiniz?

Yakında Drive API ile çalışmaya başlamayı mı planlıyorsunuz? Sizin için eksiksiz bir rehber hazırladık. Bugün, Drive API’nin ne işe yaradığını ve birkaç adımda API anahtarını nasıl alabileceğinizi öğreneceksiniz.
ChatGPT’in ne düşündüğünü gör Canlı Widget Düzenleyicisini Aç
Tarafından
How to use Google Drive API and get an API key

Google Drive API Nedir?

Google Drive API, kullanıcıların Drive bulut depolama alanını kullanarak uygulama geliştirmesine olanak tanır. Bu özellik sayesinde Google Drive ile entegre olan uygulamalar geliştirebilir ve uygulamalarınızda güçlü işlevler sunabilirsiniz.

Bu araçla neler yapabilirsiniz?

  • 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ıyla çalışmak için bir API Anahtarına ihtiyacınız var. Bunu nasıl alacağınızı görelim.

Google Drive API Anahtarı Nasıl Alınır

İpucu: Roller, bir kullanıcıya, bir gruba veya bir hizmet hesabına kaynağı kullanma izni vermek için kullanılır. Rollerin daha fazla bilgisine buradan ulaşabilirsiniz.

API anahtarını kurmak için şu adımları izleyin:

  • Cloud Google Drive API konsolundaki APIs & Services → Credentials panosunu açın.
Google Cloud Platform console
  • Kimlik bilgileri oluşturmayı seçin ve ardından açılır listeden API anahtarını seçin.
Google Cloud Platform console create credentials
  • Diyalog ekranı yeni API anahtarınızı gösterecek.
Google Cloud Platform console get API key

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.

Başka bir API kullanma yöntemi – verileri çeşitli platformlardan alın. Örneğin, web sitenize Google yorumlarını gömün. Bu özellik, Elfsight’tan hazır kullanıma sunulan bir web uygulaması olan Google Yorumları widget’ı ile de mevcut.

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

  • 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 bir yöntemi kullanır. Bu yöntemlerden hangisini nasıl kullanacağınıza dair daha fazla bilgi için buraya tıklayın.

Örnek 2: Google Drive API ile dosya paylaşımı

Her Google Drive dosyasının ilişkili İzinler kaynakları vardır. Her kaynak, belirli bir tip 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.

İpucu: Tüm rollerin tam listesi ve her birinin izin verdiği işlemler burada bulunabilir burada.

İ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();'

Drive dosyaları, klasörleri ve sürücüler hakkında daha fazla bilgi için buraya tıklayı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 şu sorgu dizesini kullanmalısınız q ile files.list

Aşağıdaki örnek, sorgu dizesinin biçimini gösterir:

query_term operatör değerleri

Nerede:

  • query_term arama 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ör sorgu terimi için koşulu belirtir. Her sorgu terimiyle hangi operatörleri kullanabileceğinizi görmek için Sorgu operatörleri sayfasına bakabilirsiniz.
  • values arama 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

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:

İsteklerKısıtlamalar
Günlük İstek Sayısı1,000,000
Kullanıcı başına 100 saniyede istekler1,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.

Makale tarafından
İçerik Yöneticisi
Elfsight’te İçerik Yöneticisi olarak, hem pratik hem de ilham veren içerikler üretmeye odaklanıyorum. Karmaşık olanları basitleştirmeyi ve okunabilirliği keyifli kılmayı seviyorum.