Mencantumkan dan mendapatkan domain yang diizinkan
Halaman ini memberikan contoh kode dan detail operasional yang menunjukkan cara mencantumkan dan mengambil domain tertentu dalam daftar yang diizinkan menggunakan Allowlisted Domains API.
Sebelum memulai
Lakukan tugas berikut sebelum melanjutkan informasi di halaman ini:
Mencantumkan domain dalam daftar yang diizinkan
Gunakan metode list untuk mengambil semua entri. Anda dapat secara opsional memberikan string pageSize, pageToken, atau filter untuk mempersempit hasil.
Python
def list_allowlisted_domains(
service, page_size=None, page_token=None, domain_filter=None
):
"""Lists allowlisted domains."""
try:
filter_string = None
if domain_filter:
filter_string = f"domain = '{domain_filter}'"
response = (
service.allowlistedDomains()
.list(
pageSize=page_size, pageToken=page_token, filter=filter_string
)
.execute()
)
return response
except Exception as e:
print(f'An error occurred during list: {e}')
return None
Mendapatkan domain tertentu
Mengambil domain tertentu secara serentak menggunakan nama resource-nya yang diperoleh dari operasi daftar sebelumnya.
Python
def get_allowlisted_domain(service, resource_name):
"""Gets an allowlisted domain."""
if not resource_name:
print('Resource name is missing.')
return None
try:
response = service.allowlistedDomains().get(name=resource_name).execute()
return response
except Exception as e:
print(f'An error occurred during get: {e}')
return None
Penanganan Error
Bagian ini menjelaskan kondisi error umum dan langkah-langkah pemecahan masalah saat mencantumkan atau mendapatkan domain yang diizinkan.
Penanganan Error Daftar
| Kondisi Error | Kode Status RPC | Pesan Error | Pemecahan Masalah / Justifikasi |
|---|---|---|---|
| Tidak memiliki otorisasi ke resource | PERMISSION_DENIED (403) |
"Permission denied for allowlisted domain resource." |
• Pastikan pengguna telah diberi cakupan yang sesuai. • Pastikan pengguna memiliki izin yang diperlukan. • Hubungi email kontak untuk memastikan apakah project/pengguna telah dimasukkan dalam daftar yang diizinkan atau tidak. |
| ID Pelanggan tidak ditemukan untuk pengguna | NOT_FOUND (404) |
"Customer ID not found for user." |
Pengguna yang login tidak ditautkan ke domain yang valid. |
| Daftar telah diubah selama penomoran halaman | ABORTED |
"List has been mutated. Please restart pagination." |
Daftar domain yang mendasarinya diubah (dimutasi) saat Anda melakukan penomoran halaman; Anda harus memulai ulang operasi allowlistedDomains.list dari halaman pertama. Pertimbangkan untuk mengambil daftar lengkap sekaligus jika ada mutasi yang sedang berlangsung secara paralel. |
| Nilai filter domain yang diberikan tidak valid | INVALID_ARGUMENT (400) |
"Invalid domain filter value provided. Error: <Error message>." |
Periksa kembali domain yang diberikan dalam parameter filter permintaan daftar untuk memastikan domain tersebut tidak kosong atau tidak valid secara sintaksis. Kasus parameter filter yang tidak valid: Operasi allowlistedDomains.list gagal karena sintaksis yang tidak valid atau operasi yang tidak didukung diteruskan dalam filter. Pesan error akan menjelaskan kasus penggunaan yang tepat. Pastikan format berikut digunakan untuk memanggil API:GET https://cloudidentity.googleapis.com/v1/allowlistedDomains?filter="domain = 'google.com'" |
| Ekspresi filter tidak valid | INVALID_ARGUMENT (400) |
"Invalid filter expression: %s." |
Ekspresi filter yang salah diteruskan dalam permintaan. |
| Kondisi gabungan tidak didukung | INVALID_ARGUMENT (400) |
"Composite conditions (AND, OR, NOT) are not supported in the filter." |
Filter tidak mendukung kondisi komposit; hanya pemfilteran kondisi tunggal yang diizinkan. |
| Hanya operator '=' yang didukung | INVALID_ARGUMENT (400) |
"Only '=' operator is supported in the filter." |
Gunakan operator kesetaraan (=) untuk semua ekspresi filter. Operasi lainnya tidak didukung. |
| Hanya kolom 'domain' yang didukung | INVALID_ARGUMENT (400) |
"Only 'domain' field is supported in the filter." |
Filter harus menargetkan kolom domain (misalnya, domain = 'example.com'). Kolom lainnya tidak didukung. |
| RHS memiliki nilai anggota yang tidak valid / harus berupa string | INVALID_ARGUMENT (400) |
"RHS of filter expression has invalid member value.""RHS of filter expression should be a string." |
Nilai sisi kanan (RHS) ekspresi filter harus berupa string (nama domain). |
| Ukuran halaman negatif | INVALID_ARGUMENT (400) |
"Page size cannot be negative." |
Pastikan parameter pageSize adalah bilangan bulat non-negatif. |
| Token halaman tidak valid | INVALID_ARGUMENT (400) |
"Invalid page token." |
Error ini menunjukkan bahwa token salah format atau sudah tidak berlaku. Pastikan Anda menggunakan token yang persis dan tidak dimodifikasi yang disediakan oleh kolom nextPageToken dari respons daftar sebelumnya. Jika validasi gagal, hapus parameter pageToken untuk memulai ulang penomoran halaman dari halaman pertama. |
Mendapatkan Penanganan Error
| Kondisi Error | Kode Status RPC | Pesan Error | Pemecahan Masalah / Justifikasi |
|---|---|---|---|
| Tidak memiliki otorisasi ke resource | PERMISSION_DENIED (403) |
"Permission denied for allowlisted domain resource." |
• Pastikan pengguna telah diberi cakupan yang sesuai. • Pastikan pengguna memiliki izin yang diperlukan. • Hubungi email kontak untuk memastikan apakah project/pengguna telah dimasukkan dalam daftar yang diizinkan atau tidak. |
| ID Pelanggan tidak ditemukan untuk pengguna | NOT_FOUND (404) |
"Customer ID not found for user." |
Pengguna yang login tidak ditautkan ke domain yang valid. |
| Domain tidak ditemukan dalam daftar yang diizinkan | NOT_FOUND (404) |
"Allowlisted domain <domain> not found" |
Domain yang diberikan tidak ada dalam daftar yang diizinkan. |
| Nama resource tidak valid | INVALID_ARGUMENT (400) |
"Invalid resource name: <resourceName>." |
Validasi Format Nama Resource: String yang digunakan untuk parameter nama harus mengikuti format allowlistedDomains/UNIQUE_IDENTIFIER secara persis. |