Beklemedeki erişim tekliflerini yönetme

Erişim önerisi, bir Google Drive öğesine erişim izni verilmesi için istekte bulunan kullanıcıdan onaylayana gönderilen öneridir.

Onaylayan, Drive dosyalarındaki çözümlenmemiş tüm erişim önerilerini inceleyip bunlarla ilgili işlem yapabilir. Bu sayede, erişim tekliflerini programatik olarak sorgulayıp ardından bunları çözerek onay sürecini hızlandırabilirsiniz. Ayrıca, tekliflerin onaylayan kişi tarafından toplu olarak görüntülenmesine de olanak tanır.

Google Drive API, bekleyen erişim önerilerini görüntüleyip çözebilmeniz için accessproposals kaynağını sağlar. accessproposals kaynağının yöntemleri dosyalar, klasörler ve ortak drive'daki dosyalar üzerinde çalışır ancak ortak drive üzerinde çalışmaz.

Aşağıdaki terimler erişim tekliflerine özgüdür:

  • İstekte bulunan: Bir Drive öğesine erişim önerisini başlatan kullanıcı.
  • Alıcı: Erişim teklifi kabul edilirse bir dosyada ek izinleri alan kullanıcı. Alıcı çoğu zaman istekte bulunan kullanıcıyla aynıdır ancak bu her zaman geçerli değildir.
  • Onaylayan: Erişim önerisini onaylamaktan (veya reddetmekten) sorumlu kullanıcı. Bunun nedeni genellikle kullanıcının dokümanın sahibi olması veya dokümanı paylaşabilmesidir.

Alanlar parametresini kullanma

Yanıt içinde döndürülecek alanları belirtmek istiyorsanız fields system parametresini accessproposals 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. Farklı alanlar döndürmek için Belirli alanları döndürme başlıklı makaleye bakın.

Beklemede olan bir erişim teklifi alma

Erişim önerisi almak için fileId ve proposalId yol parametreleriyle accessproposals kaynağında get yöntemini kullanın. Teklif kimliğini bilmiyorsanız list yöntemini kullanarak bekleyen erişim tekliflerini listeleyebilirsiniz.

Beklemedeki erişim tekliflerini listeleme

Bir Drive öğesindeki tüm bekleyen erişim önerilerini listelemek için list yöntemini accessproposals kaynağında çağırın ve fileId yol parametresini ekleyin.

Yalnızca bir dosyadaki onaylayanlar, dosyadaki bekleyen teklifleri listeleyebilir. Onaylayan, dosyada can_approve_access_proposals özelliğine sahip bir kullanıcıdır. İstekte bulunan kişi onaylayan değilse boş bir liste döndürülür. capabilities hakkında daha fazla bilgi için Dosya özelliklerini anlama başlıklı makaleyi inceleyin.

Yanıt gövdesi, dosyadaki çözümlenmemiş erişim önerileri listesini temsil eden bir accessproposals nesnesinden oluşur.

accessproposals nesnesi, her teklifle ilgili bilgileri (ör. talep eden, alıcı ve talep edenin eklediği ileti) içerir. Ayrıca, talep sahibinin önerdiği role ile view öğesini gruplandıran bir RoleAndView nesnesi de içerir. role yinelenen bir alan olduğundan her teklif için birden fazla değer olabilir. Örneğin, bir teklifte role=reader ve view=published değerlerine sahip bir RoleAndView nesnesi ile yalnızca role=writer değerine sahip ek bir RoleAndView nesnesi olabilir. Daha fazla bilgi için Görünümler başlıklı makaleyi inceleyin.

Erişim tekliflerinin sayfalandırmasını özelleştirmek veya teklifleri filtrelemek için aşağıdaki sorgu parametrelerini iletin:

  • pageToken: Önceki bir liste çağrısından alınan sayfa jetonu. Sonraki sayfayı almak için bu jetonu sağlayın.

  • pageSize: Sayfa başına döndürülecek maksimum erişim teklifi sayısı.

Bekleyen erişim önerilerini çözme

Bir Drive öğesindeki tüm bekleyen erişim önerilerini çözmek için resolve yöntemini accessproposals kaynağında çağırın ve fileId ile proposalId yol parametrelerini ekleyin.

resolve yöntemi, teklif üzerinde yapılacak işlemi belirten bir action sorgu parametresi içerir. Action nesnesi, teklifin durum değişikliğini izler. Böylece teklifin kabul edilip edilmediğini anlayabiliriz.

resolve yöntemi, role ve view isteğe bağlı sorgu parametrelerini de içerir. Yalnızca writer, commenter ve reader rolleri desteklenir. Rol belirtilmezse varsayılan olarak reader olur. Daha fazla bilgi için Roller ve izinler başlıklı makaleyi inceleyin. sendNotification parametresinin isteğe bağlı ek bir sorgusu, teklif kabul edildiğinde veya reddedildiğinde istekte bulunan kişiye e-posta bildirimi göndermenize olanak tanır.

list yönteminde olduğu gibi, teklifi çözümleyen kullanıcıların dosyada can_approve_access_proposals özelliğine sahip olması gerekir. capabilities hakkında daha fazla bilgi için Dosya özelliklerini anlama başlıklı makaleyi inceleyin.

Öneriler, Drive kaynaklarını paylaşma senaryoları bölümünde listelenen aynı kalıplar kullanılarak çözülür. Aynı kullanıcı için birden fazla teklif varsa ancak farklı rollerle teklifler gönderilmişse aşağıdakiler geçerlidir:

  • Bir teklif kabul edilirken diğeri reddedilirse kabul edilen rol, Drive öğesi için geçerli olur.
  • Her iki teklif de aynı anda kabul edilirse daha yüksek izne sahip teklif (örneğin, role=writer ile role=reader karşılaştırması) uygulanır. Diğer erişim teklifi öğeden kaldırılır.

resolve yöntemine teklif gönderildikten sonra paylaşma işlemi tamamlanır. Çözülen erişim teklifi artık list yöntemiyle döndürülmüyor. Öneri kabul edildikten sonra kullanıcının, bir dosya veya klasördeki izinleri güncellemek için permissions kaynağını kullanması gerekir. Daha fazla bilgi için İzinleri güncelleme başlıklı makaleyi inceleyin.