Proposal akses adalah proposal dari pemohon kepada pemberi persetujuan untuk memberikan akses kepada penerima ke item Google Drive.
Pengajuan dapat meninjau dan menindaklanjuti semua proposal akses yang belum terselesaikan di seluruh file Drive. Artinya, Anda dapat mempercepat proses persetujuan dengan mengkueri proposal akses secara terprogram, lalu me-resolve-nya. Hal ini juga memungkinkan proposal dilihat secara gabungan oleh pemberi persetujuan.
Google Drive API menyediakan resource accessproposals
sehingga Anda dapat melihat dan menyelesaikan proposal akses yang tertunda. Metode resource accessproposals
berfungsi pada file, folder, file dalam drive bersama, tetapi tidak pada
drive bersama.
Istilah berikut khusus untuk proposal akses:
- Pemohon: Pengguna yang memulai proposal akses ke item Drive.
- Penerima: Pengguna yang menerima izin tambahan pada file jika proposal akses diberikan. Sering kali penerima sama dengan peminta, tetapi tidak selalu.
- Penyetuju: Pengguna yang bertanggung jawab untuk menyetujui (atau menolak) proposal akses. Hal ini biasanya karena mereka adalah pemilik dokumen atau mereka memiliki kemampuan untuk membagikan dokumen.
Mencantumkan proposal akses yang tertunda
Untuk mencantumkan semua proposal akses yang tertunda di item Drive, panggil metode list()
pada resource accessproposals
dan sertakan parameter jalur fileId
.
Hanya pemberi persetujuan di file yang dapat mencantumkan proposal yang tertunda di file. Pengajuan
adalah pengguna dengan kemampuan can_approve_access_proposals
pada file. Jika
peminta bukan merupakan pemberi persetujuan, daftar kosong akan ditampilkan. Untuk mengetahui informasi selengkapnya
tentang capabilities
, lihat Memahami kemampuan
file.
Isi respons
terdiri dari objek
AccessProposal
yang mewakili daftar proposal akses yang belum terselesaikan pada file.
Objek AccessProposal
menyertakan info tentang setiap proposal seperti
peminta, penerima, dan pesan yang ditambahkan oleh pemohon. Objek ini juga
menyertakan
objek AccessProposalRoleAndView
yang mengelompokkan role
yang diusulkan pemohon dengan view
. Karena role
adalah kolom berulang, beberapa kolom dapat ada untuk setiap proposal. Misalnya, proposal mungkin memiliki objek AccessProposalRoleAndView
dari role=reader
dan
view=published
, ditambah objek AccessProposalRoleAndView
tambahan dengan
hanya nilai role=writer
. Untuk informasi selengkapnya, lihat
Tampilan.
Teruskan parameter kueri berikut untuk menyesuaikan penomoran halaman, atau memfilter, proposal akses:
pageToken
: Token halaman, diterima dari panggilan daftar sebelumnya. Berikan token ini untuk mengambil halaman berikutnya.pageSize
: Jumlah maksimum proposal akses yang akan ditampilkan per halaman.
Menyelesaikan proposal akses yang tertunda
Untuk menyelesaikan semua proposal akses yang tertunda di item Drive, panggil metode resolve()
di resource accessproposals
dan sertakan parameter jalur fileId
dan proposalId
.
Metode resolve()
menyertakan parameter kueri action
yang menunjukkan
tindakan yang akan dilakukan pada proposal. Objek
Action
melacak
perubahan status proposal sehingga kita tahu apakah proposal tersebut diterima atau ditolak.
Metode resolve()
juga menyertakan parameter kueri opsional role
dan
view
. Satu-satunya peran yang didukung adalah writer
, commenter
, dan reader
. Jika
tidak ditentukan, peran akan ditetapkan secara default ke reader
. Parameter kueri opsional tambahan
send_notification
memungkinkan Anda mengirim notifikasi email kepada
peminta saat proposal diterima atau ditolak.
Sama seperti metode list()
, pengguna yang me-resolve proposal harus memiliki
kemampuan can_approve_access_proposals
pada file. Untuk mengetahui informasi selengkapnya
tentang capabilities
, lihat Memahami kemampuan
file.
Proposal diselesaikan menggunakan pola yang sama yang tercantum di bagian Skenario untuk berbagi resource Drive. Jika ada beberapa proposal untuk pengguna yang sama, tetapi dengan peran yang berbeda, hal berikut berlaku:
- Jika satu proposal diterima dan satu ditolak, peran yang diterima akan berlaku untuk item Drive.
- Jika kedua proposal diterima secara bersamaan, proposal dengan izin yang lebih tinggi (misalnya,
role=writer
versusrole=reader
) akan diterapkan. Proposal akses lainnya akan dihapus dari item.
Setelah mengirimkan proposal ke metode resolve()
, tindakan berbagi
selesai. AccessProposal
tidak lagi ditampilkan melalui metode
list()
. Setelah proposal diterima, pengguna harus menggunakan kumpulan permissions
untuk memperbarui izin pada file atau
folder. Untuk mengetahui informasi selengkapnya, lihat Memperbarui
izin.