Mengelola proposal akses yang tertunda

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 versus role=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.