Google Drive API'si, bir dosya oluştururken veya mevcut bir dosyayı güncellerken
File
. Nasıl oluşturabileceğiniz hakkında bilgi için
Yalnızca meta veri dosyası (ör. klasör) için Yalnızca meta veri dosyaları oluşturma başlıklı makaleyi inceleyin.
Gerçekleştirebileceğiniz üç tür yükleme vardır:
Basit yükleme (
uploadType=media
): Bir dosyayı aktarmak için bu yükleme türünü kullanın meta veri sağlamadan küçük medya dosyası (5 MB veya daha küçük) Bir basit yükleme işlemi için Basit bir yükleme gerçekleştirme bölümüne bakın.Çok parçalı yükleme (
uploadType=multipart
): "Bu yükleme türünü kullanarak şunları yapabilirsiniz: açıklayan meta verilerle birlikte küçük bir dosya (5 MB veya daha küçük) dosyası olarak gönderin. Çok parçalı yükleme gerçekleştirmek için şuraya bakın: Perform çok parçalı yükleme.Devam ettirilebilir yükleme (
uploadType=resumable
): Bu yükleme türünü şunlar için kullanın: büyük dosyalar (5 MB'tan büyük) olduğunda ve ağ oluşturma olasılığı yüksek olduğunda kesintiler (örneğin, mobil uygulamadan dosya oluştururken). Devam ettirilebilir Ayrıca, yükleme işlemleri çoğu uygulama için iyi bir seçenektir çünkü ve yükleme başına bir ek HTTP isteği karşılığında minimum maliyetle küçük dosyalar için Devam ettirilebilir yükleme işlemi gerçekleştirmek için Devam ettirilebilir bir yükleme işlemi gerçekleştirme yükleyin.
Google API istemci kitaplıkları aşağıdaki kod türlerinden en az birini uygular yükleme sayısını artırır. İstemci kitaplığına dokümanlarına göz atın ve türlerin her birini kullanın.
PATCH
- PUT
karşılaştırmasını kullanın
PATCH
HTTP fiili, kısmi dosya kaynağı güncellemesini desteklemektedir.
PUT
HTTP fiili ise tam kaynak değişimini destekler. Unutmayın: PUT
mevcut bir kaynağa yeni alan eklerken zarar veren değişikliklere yol açabilir.
Bir dosya kaynağı yüklerken aşağıdaki yönergeleri kullanın:
- İlk istek için API referansında belgelenen HTTP fiilini kullan tek istek olduğunda veya basit ya da çok parçalı yüklemelerde kullanılabilir.
- Devam ettirilebilir bir yükleme işlemine yönelik sonraki tüm istekler için
PUT
isteği başlatıldı. Bu istekler, çağrılır.
Basit bir yükleme yapın
Basit bir yükleme gerçekleştirmek için
files.create
yöntemi
uploadType=media
.
Aşağıda, basit bir yüklemenin nasıl yapılacağı gösterilmektedir:
HTTP
Sorguyla birlikte yöntemin /upload URI'sine bir
POST
isteği oluşturunuploadType=media
parametresi için:POST https://www.googleapis.com/upload/drive/v3/files?uploadType=media
Dosyanın verilerini istek gövdesine ekleyin.
Şu HTTP üstbilgilerini ekleyin:
Content-Type
İlgili nesnenin MIME medya türüne ayarlanır yüklendi.Content-Length
Yüklediğiniz bayt sayısına ayarlayın. Şunu kullanıyorsanız: parçalı aktarım kodlamasına sahip değilse bu başlık gerekli değildir.
İsteği gönderin. İstek başarılı olursa sunucu, dosyanın meta verileriyle birlikte
HTTP 200 OK
durum kodunu döndürür. {HTTP}
Basit bir yükleme yaptığınızda, temel meta veriler ve bazı özellikler oluşturulur.
dosyadan türetilir (örneğin, MIME türü veya modifiedTime
). Tekliflerinizi otomatikleştirmek ve optimize etmek için
ve dosya meta verilerinin uyumlu olmadığı durumlarda, kolayca
önemlidir.
Çok parçalı yükleme gerçekleştirme
Çok parçalı yükleme isteği, meta verileri ve verileri aynı isteği gönderin. Gönderdiğiniz veriler tekrar yüklenecek kadar küçükse bu seçeneği kullanın. bağlantısını tamamen kaldırabilirsiniz.
Çok parçalı yükleme yapmak için
files.create
yöntemi
uploadType=multipart
.
Aşağıda, çok parçalı yüklemenin nasıl gerçekleştirileceği gösterilmektedir:
Java
Python
Node.js
PHP
.NET
HTTP
Sorguyla birlikte yöntemin /upload URI'sine bir
POST
isteği oluşturunuploadType=multipart
parametresi için:POST https://www.googleapis.com/upload/drive/v3/files?uploadType=multipart
İsteğin gövdesini oluşturun. Gövdeyi çok parçalı/ilgili içerik türü RFC 2387 ise Bu kampanya iki bölümden oluşur:
- Meta veriler. Meta veri önce gelmeli ve bir
Content-Type
içermelidir. başlıkapplication/json;
charset=UTF-8
olarak ayarlandı. Dosyanın meta verilerini ekleyin JSON biçiminde dışa aktarabilirsiniz. - Medya. Medya ikinci oluşturulmalı ve
Content-Type
başlığı içermelidir. olabilir. Dosyadaki verileri medya bölümüne ekleyin.
Her bölümü, önüne iki kısa çizgi ekleyerek bir sınır dizesiyle tanımlayın. İçinde son sınır dizesinden sonra iki kısa çizgi ekleyin.
- Meta veriler. Meta veri önce gelmeli ve bir
Şu üst düzey HTTP üstbilgilerini ekleyin:
Content-Type
multipart/related
olarak ayarla ve sınırı dahil et dizenin olması gerekir. Örneğin, örnek:Content-Type: multipart/related; boundary=foo_bar_baz
Content-Length
İstek gövdesindeki toplam bayt sayısına ayarlayın.
İsteği gönderin.
İlişkili veriler olmadan yalnızca meta veri bölümünü oluşturmak veya güncellemek için
standart kaynak uç noktasına bir POST
veya PATCH
isteği gönderin:
https://www.googleapis.com/drive/v3/files
İstek başarılı olursa
sunucu, HTTP 200 OK
durum kodunu dosyanın
meta verilerdir.
Dosya oluştururken dosyanın name
bölümünde bir dosya uzantısı belirtmelidirler.
girin. Örneğin, bir fotoğraf JPEG dosyası oluştururken,
meta verilerde "name": "photo.jpg"
gibi görünür. files.get
için yapılan sonraki çağrılar, salt okunur fileExtension
özelliğini döndürür.
ilk olarak name
alanında belirtilen uzantıyı içerir.
Devam ettirilebilir bir yükleme gerçekleştirme
Devam ettirilebilir yükleme, bir iletişimden sonra yükleme işlemini devam ettirebilmenizi sağlar. veri akışını kesintiye uğratır. Çünkü yeniden başlatmak zorunda değilsiniz. devam ettirilebilir yüklemeler bant genişliğinizi azaltabilir veya kullanım değerini ifade eder.
Devam ettirilebilir yüklemeler, dosya boyutlarınızın büyük farklılıklar göstermesi veya İstekler için sabit bir zaman sınırı vardır (örneğin, mobil işletim sistemi arka plan görevleri belirli App Engine istekleri) için geçerlidir. Devam ettirilebilir yüklemeleri şunlar için de kullanabilirsiniz: yükleme ilerleme çubuğu göstermek istediğiniz durumlar olabilir.
Devam ettirilebilir bir yükleme, birkaç üst düzey adımdan oluşur:
- İlk isteği gönderin ve devam ettirilebilir oturum URI'sini alın.
- Verileri yükleyip yükleme durumunu izleyin.
- (İsteğe bağlı) Yükleme işlemi kesintiye uğrarsa yüklemeyi devam ettirin.
İlk isteği gönder
Devam ettirilebilir bir yükleme başlatmak için
files.create
yöntemi
uploadType=resumable
.
HTTP
Sorguyla birlikte yöntemin /upload URI'sine bir
POST
isteği oluşturunuploadType=resumable
parametresi için:POST https://www.googleapis.com/upload/drive/v3/files?uploadType=resumable
Başlatma isteği başarılı olursa yanıt bir
200 OK
içerir HTTP durum kodu. Ayrıca, şunu içeren birLocation
devam ettirilebilir oturum URI'sını belirtir:HTTP/1.1 200 OK Location: https://www.googleapis.com/upload/drive/v3/files?uploadType=resumable&upload_id=xa298sd_sdlkj2 Content-Length: 0
Dosya verilerini ve sorguyu yükleyebilmek için devam ettirilebilir oturum URI'sini kaydedin yükleme durumunu kontrol edebilirsiniz. Devam ettirilebilir bir oturum URI'sinin süresi bir hafta sonra dolar.
Dosya için meta verileriniz varsa meta verileri istek gövdesine ekleyin JSON biçiminde dışa aktarabilirsiniz. Aksi takdirde, istek gövdesini boş bırakın.
Şu HTTP üstbilgilerini ekleyin:
X-Upload-Content-Type
İsteğe bağlıdır. Dosyanın MIME türüne ayarlayın Bu veriler sonraki isteklerde aktarılır. MIME türü meta veride veya bu başlık aracılığıyla belirtilmemişse nesneapplication/octet-stream.
olarak sunulurX-Upload-Content-Length
İsteğe bağlıdır. Şu bayt sayısına ayarla: sonraki isteklerde aktarılır.Content-Type
Dosya için meta verileriniz varsa gereklidir. Şu değere ayarla:application/json;
,charset=UTF-8
.Content-Length
Parçalı aktarım kodlaması kullanmıyorsanız gereklidir. Bu ilk isteğin gövdesindeki bayt sayısına ayarlayın.
İsteği gönderin. Oturum başlatma isteği başarılı olursa yanıt bir
200 OK HTTP
durum kodu içeriyor. Ayrıca yanıt devam ettirilebilir oturum URI'sını belirten birLocation
üstbilgisi içerir. Dosya verilerini yüklemek ve yükleme durumu. Devam ettirilebilir bir oturum URI'sinin süresi bir hafta sonra dolar.Devam ettirilebilir oturum URL'sini kopyalayıp kaydedin.
İçeriği yükleme bölümüne geçin.
İçeriği yükleme
Devam ettirilebilir bir oturumla dosya yüklemenin iki yolu vardır:
- Tek bir istekte içerik yükleme: Dosya şu durumlarda olduğunda bu yaklaşımı kullanın: Tek bir istek için sabit bir süre sınırı yoksa, veya yükleme ilerleme durumu göstergesi görüntülemeniz gerekmiyor. Bu en iyi seçenektir çünkü daha az istek gerektirir ve daha iyi sonuç verir. bazı yolları da görmüştük.
İçeriği birden çok parça halinde yükleme: Aşağıdaki durumlarda bu yaklaşımı kullanın: Tek bir istekte aktarılan veri miktarını azaltma Şuna ihtiyacınız olabilir: bireysel kullanıcılar için sabit bir zaman sınırı olduğunda aktarılan veri miktarını azaltmak üzere isteklerine yönelik bir dizi yanıt ekleyebilirsiniz. Bu yaklaşım, dönüşüm hunisinin üst kısmındaki Yükleme durumunu gösterir.
HTTP - tekli istek
- Devam ettirilebilir oturum URI'si için bir
PUT
isteği oluşturun. - Dosyanın verilerini istek gövdesine ekleyin.
- Dosyadaki bayt sayısına ayarlanmış bir Content-Length (İçerik Uzunluğu) HTTP üstbilgisi ekleyin.
- İsteği gönderin. Yükleme isteği kesintiye uğrarsa veya
5xx
yanıtını alıyorsanız Kesintiye uğrayan yüklemeyi devam ettirme bölümündeki prosedürü uygulayın.
HTTP - birden fazla istek
Devam ettirilebilir oturum URI'si için bir
PUT
isteği oluşturun.Parçanın verilerini istek gövdesine ekleyin. Parçalar oluşturun Tamamlanan son parça hariç 256 KB (256 x 1024 bayt) boyutunda geri yüklenir. Yüklemenin tamamlanması için yığın boyutunu mümkün olduğunca büyük tutun. yardımcı olur.
Şu HTTP üstbilgilerini ekleyin:
Content-Length
Geçerli parçadaki bayt sayısına ayarlayın.Content-Range
Dosyada hangi baytları yüklediğinizi gösterecek şekilde ayarlayın. Örneğin, Örneğin,Content-Range: bytes 0-524287/2000000
, baytın ilk 524.288 bayt (256 x 1024 x 2) boyutudur.
İsteği gönderin ve yanıtı işleyin. Yükleme isteği veya
5xx
yanıtı alırsanız Kesintiye uğrayan yüklemeyi devam ettirmeDosyada kalan her parça için 1 ile 4 arasındaki adımları tekrarlayın. Şunu kullanın:
Range
üstbilgisini kullanın. Sunucunun önceki istekte gönderilen tüm baytları aldığını varsaymayın.
Dosya yükleme işlemi tamamlandığında 200 OK
veya
Kaynakla ilişkili tüm meta verilerle birlikte 201 Created
yanıtı.
Kesintiye uğrayan yüklemeyi devam ettirme
Yükleme isteği yanıt verilmeden sonlandırılırsa veya 503
Service Unavailable
yanıtı alırsanız kesintiye uğrayan yüklemeyi devam ettirmeniz gerekir.
HTTP
Yükleme durumunu istemek için boş bir
PUT
isteği oluşturun: devam ettirilebilir oturum URI'si.Sayfadaki mevcut konumun mevcut olduğunu belirtmek için
Content-Range
dosyası bilinmiyor. Örneğin,Content-Range
için*/2000000
toplam dosya uzunluğu 2.000.000 bayttır. Bu öğenin tam boyutunu bilmiyorsanız dosyasındaContent-Range
değerini*/*
olarak ayarlayın.İsteği gönderin.
Yanıtı işle:
200 OK
veya201 Created
yanıtı, yüklemenin şu şekilde yapıldığını gösterir: ve başka bir işlem yapılmasına gerek yoktur.308 Resume Incomplete
yanıtı, devam etmeniz gerektiğini belirtir tıklayın.404 Not Found
yanıtı, yükleme oturumunun süresinin dolduğunu ve yükleme baştan yeniden başlatılmalıdır.
308 Resume Incomplete
yanıtı aldıysanız Sunucunun hangi baytları aldığını belirlemek için yanıtınRange
üstbilgisi. Öğe yanıtRange
başlığı içermiyor. Bayt alınmadı. Örneğin,bytes=0-42
öğesininRange
üstbilgisi, ilk dosyanın 43 baytı alındı ve yüklenecek sonraki parça 44. bayt ile başlar.Yüklemeyi nereden devam ettireceğinizi artık bildiğinize göre, dosyayı yüklemeye devam edebilirsiniz ile başlar. Şunu ekleyin:
Content-Range
üstbilgisini kullanabilirsiniz. Örneğin, Örneğin,Content-Range: bytes 43-1999999
, gönderdiğini görüyorsunuz.
Medya yükleme hatalarını işleme
Medya yüklerken hataları işlemek için aşağıdaki en iyi uygulamaları izleyin:
5xx
hata için, bağlantı nedeniyle başarısız olan yüklemeleri devam ettirin veya yeniden deneyin dikkat edin.5xx
hatalarının ele alınması hakkında daha fazla bilgi için 500, 502, 503, 504 hataları.403 rate limit
hata için yüklemeyi yeniden deneyin. Daha fazla bilgi için403 rate limit
hatalarının işlenmesi için 403 hatası:rateLimitExceeded
.- Devam ettirilebilir bir yükleme sırasındaki tüm
4xx
hatalarını (403
dahil) yeniden başlatın geri yüklenir. Bu hatalar, yükleme oturumunun süresinin dolduğunu ve yeni bir oturum URI'si isteyerek yeniden başlatılır. Oturum yükleme bir hafta boyunca hiçbir işlem yapılmadığında da geçerliliğini yitirir.
Google Dokümanlar türlerine aktar
Drive'da bir dosya oluşturduğunuzda, Google Dokümanlar veya E-Tablolar'ı tıklayın. Örneğin, belki bir dokümanı eski bir dosyadan Google Dokümanlar'daki kelime işlemcinizin sunduğu avantajlardan yararlanabilmeniz için özellikleri.
Bir dosyayı belirli bir Google Workspace dosya türüne dönüştürmek için
Dosyayı oluştururken Google Workspace mimeType
.
Aşağıda, bir CSV dosyasının Google Workspace e-tablosuna nasıl dönüştürüleceği gösterilmektedir:
Java
Python
Node.js
PHP
.NET
Dönüşüm olup olmadığını görmek için dosyayı oluşturmadan önce about
kaynağının importFormats
dizisini kontrol edin.
Desteklenen dönüşümler, bu dizide dinamik olarak sunulur. Bazı yaygın
içe aktarma biçimleri şunlardır:
Nereden | Alıcı |
---|---|
Microsoft Word, OpenDocument Metni, HTML, RTF, düz metin | Google Dokümanlar |
Microsoft Excel, OpenDocument E-Tablosu, CSV, TSV, düz metin | Google E-Tablolar |
Microsoft PowerPoint, OpenDocument Sunusu | Google Slaytlar |
JPEG, PNG, GIF, BMP, PDF | Google Dokümanlar (resmi bir dokümana yerleştirir) |
Düz metin (özel MIME türü), JSON | Google Apps Komut Dosyası |
update
isteği sırasında medya yükleyip bir
Dokümanlar, E-Tablolar veya Slaytlar dosyası,
dokümanın tüm içeriği değiştirilir.
Bir resmi Dokümanlar'a dönüştürdüğünüzde Drive,
Resmi metne dönüştürmek için optik karakter tanıma (OCR) özelliği. Şunları yapabilirsiniz:
geçerli BCP'yi belirterek OCR algoritmasının kalitesini artırır.
47 dil kodu
ocrLanguage
parametresinden sonra bir değer girin. Çıkarılan metin, Doküman'da, yerleştirilmiş resmin yanında görünür.
Dosya yüklemek için önceden oluşturulmuş bir kimlik kullanın
Drive API, Drive API'yi kullanarak mevcut olan önceden oluşturulmuş dosya kimliklerinin
kaynak yüklemek ve oluşturmak için kullanılır. Yükleme ve dosya oluşturma istekleri
önceden oluşturulmuş bu kimlikleri kullanın. Dosya meta verilerinde id
alanını ayarlayın.
Önceden oluşturulmuş kimlikler oluşturmak için şu numarayı arayın:
files.generateIds
kimlik sayısını belirleyin.
Belirsiz bir değer varsa önceden oluşturulmuş kimliklerle yüklemeleri güvenle yeniden deneyebilirsiniz.
sunucu hatası veya zaman aşımı olabilir. Dosya başarıyla oluşturulduysa, daha sonra
yeniden denemeler HTTP 409
hatası döndürür ve yinelenen dosyalar oluşturmaz.
Bilinmeyen dosya türleri için dizine eklenebilir metin tanımlayın
Kullanıcılar, doküman içeriğini bulmak için Drive kullanıcı arayüzünü kullanabilir. Ayrıca transkriptinizi
files.list
ve fullText
kullanın
alanını kullanabilirsiniz. Daha fazla bilgi için bkz.
dosyalar ve klasörler olabilir.
Drive, aşağıdaki durumlarda dokümanları arama için otomatik olarak dizine ekler:
metin dokümanları, PDF'ler, metin içeren resimler ve
yaygın olan başka türlerde de kullanılır. Uygulamanız diğer dosya türlerini (ör. çizimler,
video ve kısayollar) sağlanan, sağlayarak keşfedilebilirliği
dizine eklenebilir metni dosyanın contentHints.indexableText
alanında bulabilirsiniz.
Dizine eklenebilir metin hakkında daha fazla bilgi için Dosyayı yönetme bölümüne bakın meta veriler için de kullanılabilecektir.