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
ilerole=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.