Dil:

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’nin değerlendirmesini görün Canlı widget düzenleyicisini açın
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ı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.

İ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.

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. 

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

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_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

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:

İ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 yazarı
İç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.