Bu kılavuzda, Google Drive API'yi kullanarak Google Drive'da dosyaların nasıl oluşturulacağı ve yönetileceği açıklanmaktadır.
Dosya oluşturma
Drive'da meta veri veya içerik içermeyen bir dosya oluşturmak için files kaynağında parametre içermeyen create yöntemini kullanın.
Dosyayı oluşturduğunuzda yöntem bir files kaynağı döndürür. Dosyaya kind drive.file, id, name "Adsız" ve mimeType application/octet-stream verilir. uploadType
gerekli olarak işaretlenir ancak varsayılan olarak media değerini alır. Bu nedenle, aslında bu değeri sağlamanız gerekmez.
Drive'daki dosya sınırları hakkında daha fazla bilgi için Dosya ve klasör sınırları başlıklı makaleyi inceleyin.
Alanlar parametresini kullanma
Yanıt içinde döndürülecek alanları belirtmek istiyorsanız fields sistem parametresini files kaynağının herhangi bir yöntemiyle ayarlayabilirsiniz. fields parametresini atlarsanız sunucu, yönteme özgü varsayılan bir alan kümesi döndürür. Örneğin, list yöntemi her dosya için yalnızca kind, id, name, mimeType ve resourceKey alanlarını döndürür. Farklı alanları döndürmek için Belirli alanları döndürme başlıklı makaleye bakın.
Dosya sahipliği
Drive API kullanılarak bir dosya oluşturulduğunda sahiplik, uygulamanın kullandığı kimlik doğrulama bilgilerine bağlı olarak aşağıdaki şekillerde belirlenir:
Kullanıcı hesabı (OAuth 2.0): Uygulama, bir kullanıcı adına kimlik doğrulaması yaparsa bu kullanıcı dosyanın sahibi olur. Dosya, kullanıcının Drive'ım klasöründe veya belirtilen bir klasörde yer alır. Bu dosyalar, kullanıcının depolama alanı kotasını tüketir.
Hizmet Hesabı: Uygulama, Hizmet Hesabı kullanarak kimlik doğrulaması yapıyorsa dosya sahibi Hizmet Hesabı'dır. Dosya daha sonra hizmet hesabının özel Drive depolama alanında yer alır. Dosyalar, açıkça paylaşılmadığı sürece diğer Drive depolama alanı hesaplarında görünmez. Hizmet hesabı silinirse sahip olduğu tüm dosyalar anında silinir.
Bir hizmet hesabı kullanıyorsanız ancak belirli bir kullanıcı hesabının bir dosyanın sahibi olmasını istiyorsanız alan genelinde yetki devrini kullanın. Bu, hizmet hesabının kullanıcı kimliğine bürünmesine ve kullanıcı adına dosya oluşturmasına olanak tanır. Daha fazla bilgi için Alan genelinde yetkiyi hizmet hesabına devretme başlıklı makaleyi inceleyin.
Dosya izinleri hakkında daha fazla bilgi için Dosya, klasör ve sürücü paylaşma başlıklı makaleyi inceleyin.
Dosyalarınızla kullanmak için kimlikler oluşturma
generateIds kaynağındaki files yöntemi, Drive'da dosya ve klasör oluştururken veya kopyalarken kullanılabilecek benzersiz dosya kimliklerini önceden oluşturmanıza olanak tanır. Bu, dosya kimliklerini Drive'ın otomatik olarak atamasına izin vermek yerine uygulamanızdan kontrol etmeniz gerektiğinde yararlı olabilir.
count sorgu parametresini kullanarak oluşturulan kimliklerin sayısını ayarlayabilirsiniz.
count ayarlanmamışsa varsayılan olarak 10 öğe döndürülür. İsteyebileceğiniz maksimum kimlik sayısı 1.000 ile sınırlıdır.
Ayrıca kimliklerin kullanılabileceği space ve kimliklerin kullanılabileceği öğelerin type de belirleyebilirsiniz.
Oluşturulan bir kimlik, id alanı aracılığıyla create veya copy yöntemine aktarılabilir. Bu sayede, oluşturulan veya kopyalanan dosyanın önceden belirlenmiş kimliği kullandığından emin olunur.
Dosya başarıyla oluşturulur veya kopyalanırsa sonraki yeniden denemeler 409
Conflict HTTP durum kodu yanıtı döndürür ve yinelenen dosyalar oluşturulmaz.
application/vnd.google-apps.drive-sdk ve application/vnd.google-apps.folder MIME türleri hariç olmak üzere, önceden oluşturulmuş kimliklerin Google Workspace dosyalarının oluşturulmasında desteklenmediğini unutmayın. Benzer şekilde, Google Workspace dosya biçimine dönüştürmeyi referans alan yüklemeler de desteklenmez.
Yalnızca meta veri içeren dosyalar oluşturma
Yalnızca meta verileri içeren dosyalarda içerik bulunmaz. Meta veriler, dosyayı açıklayan verilerdir (ör. name, mimeType ve createdTime). name gibi alanlar kullanıcıdan bağımsızdır ve her kullanıcı için aynı şekilde görünür. viewedByMeTime gibi alanlar ise kullanıcıya özel değerler içerir.
Yalnızca meta veri içeren bir dosyaya örnek olarak MIME türü application/vnd.google-apps.folder olan bir klasör verilebilir. Daha fazla bilgi için Klasör oluşturma ve klasörlere içerik ekleme başlıklı makaleyi inceleyin. Başka bir örnek ise MIME türü application/vnd.google-apps.shortcut olan Drive'daki başka bir dosyayı işaret eden bir kısayoldur. Daha fazla bilgi için Drive dosyasının kısayolunu oluşturma başlıklı makaleyi inceleyin.
Küçük resimleri yönetme
Küçük resimler, kullanıcıların Drive dosyalarını tanımlamasına yardımcı olur. Drive, yaygın dosya türleri için otomatik olarak küçük resimler oluşturabilir veya uygulamanız tarafından oluşturulan bir küçük resim sağlayabilirsiniz. Daha fazla bilgi için Küçük resim yükleme başlıklı makaleyi inceleyin.
Mevcut bir dosyayı kopyalama
Bir dosyayı kopyalamak ve istenen güncellemeleri uygulamak için files kaynağında copy yöntemini kullanın. Kopyalanacak fileId öğesini bulmak için list yöntemini kullanın.
Güncellemeleri yama semantiği aracılığıyla uygulayabilirsiniz. Bu, bir kaynakta kısmi değişiklikler yapabileceğiniz anlamına gelir. İsteğinizde değiştirmek istediğiniz alanları açıkça ayarlamanız gerekir. İsteğe dahil edilmeyen alanlar mevcut değerlerini korur. Daha fazla bilgi için Kısmi kaynaklarla çalışma başlıklı makaleyi inceleyin.
Kopyalanan dosyanın dosya kimliğini generateIds yöntemini kullanarak önceden ayarlayabilirsiniz. Daha fazla bilgi için Dosyalarınızla kullanmak üzere kimlik oluşturma başlıklı makaleyi inceleyin.
Çağrıyı yetkilendirmek için uygun bir Drive API kapsamı kullanmanız gerektiğini unutmayın. Drive kapsamları hakkında daha fazla bilgi için Google Drive API kapsamlarını seçme başlıklı makaleyi inceleyin.
Sınırlar ve dikkat edilmesi gereken noktalar
Dosyaları kopyalamaya hazırlanırken aşağıdaki sınırlamaları ve hususları göz önünde bulundurun:
İzinler:
DownloadRestrictionsMetadatafileskaynağının nesnesi, dosyayı kimin kopyalayabileceğini belirler. Daha fazla bilgi için Kullanıcıların dosyanızı indirmesini, yazdırmasını veya kopyalamasını engelleme başlıklı makaleyi inceleyin.capabilities.canCopyalan kaynağı, kullanıcının dosyayı kopyalayıp kopyalayamayacağını belirler. Daha fazla bilgi için Dosya özelliklerini anlama başlıklı makaleyi inceleyin.- Kopyayı oluşturan kullanıcı, kopyalanan dosyanın sahibi olur. Kaynak dosyadaki diğer paylaşım ayarları kopyalanmaz. Kopya, paylaşılan bir klasörde oluşturulursa bu klasörün izinlerini devralır.
- Kopyalanan bir dosyanın sahipliği değişebilir ve kopya, orijinal dosyanın paylaşım ayarlarını devralmayabilir. Bu ayarların sıfırlanması gerekebilir.
Dosya yönetimi:
- Üçüncü taraf kısayolları gibi bazı dosyalar hiçbir zaman kopyalanamaz.
- Bir dosyayı yalnızca bir üst klasöre kopyalayabilirsiniz. Birden fazla üst öğe belirtmek desteklenmez.
parentsalanı belirtilmezse dosya, kaynak dosyadan bulunabilir üst öğeleri devralır. - Klasörler bir dosya türü olsa da kopyalanamaz.
Bunun yerine bir hedef klasör oluşturun ve mevcut dosyaların
parentsalanını hedef klasör olarak ayarlayın. Ardından orijinal kaynak klasörü silebilirsiniz. - Yeni bir dosya adı belirtilmediği sürece
copyyöntemi, orijinal dosyayla aynı ada sahip bir dosya oluşturur. copy'nın aşırı kullanımı, Drive API kota sınırlarınızın aşılmasına neden olabilir. Daha fazla bilgi için Kullanım sınırları başlıklı makaleyi inceleyin.
İlgili konular
Deneyebileceğiniz bazı sonraki adımlar:
Dosya oluştururken veya güncellerken dosya verilerini yüklemek için Dosya verilerini yükleme başlıklı makaleyi inceleyin.
Belirli bir klasörde dosya oluşturmak için Belirli bir klasörde dosya oluşturma başlıklı makaleyi inceleyin.
Dosyaları taşımak için Klasörler arasında dosya taşıma başlıklı makaleyi inceleyin.
Dosya meta verileriyle çalışma hakkında bilgi edinmek için Dosya meta verilerini yönetme başlıklı makaleyi inceleyin.
Dosya silmek için Dosyaları ve klasörleri çöp kutusuna taşıma veya silme başlıklı makaleyi inceleyin.