허용된 도메인 나열 및 가져오기
이 페이지에서는 허용된 도메인 API를 사용하여 허용 목록에서 특정 도메인을 나열하고 검색하는 방법을 보여주는 코드 예시와 운영 세부정보를 제공합니다.
시작하기 전에
이 페이지의 정보를 계속 진행하기 전에 다음 작업을 수행하세요.
- 허용된 도메인 API 개요를 읽어보세요.
- 허용된 도메인 API를 설정하세요.
허용 목록에 있는 도메인 나열
list 메서드를 사용하여 모든 항목을 가져옵니다. 선택적으로 pageSize, pageToken 또는 filter 문자열을 제공하여 결과를 좁힐 수 있습니다.
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
특정 도메인 가져오기
이전 목록 작업에서 가져온 리소스 이름을 사용하여 특정 도메인을 동기식으로 검색합니다.
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
오류 처리
이 섹션에서는 허용된 도메인을 나열하거나 가져올 때 발생하는 일반적인 오류 조건과 문제 해결 단계를 설명합니다.
목록 오류 처리
| 오류 조건 | RPC 상태 코드 | 오류 메시지 | 문제 해결 / 근거 |
|---|---|---|---|
| 리소스에 대한 권한이 없음 | PERMISSION_DENIED (403) |
"Permission denied for allowlisted domain resource." |
• 사용자에게 적절한 범위가 부여되었는지 확인합니다. • 사용자에게 필요한 권한이 있는지 확인합니다. • 연락처 이메일에 문의하여 프로젝트/사용자가 허용 목록에 추가되었는지 확인합니다. |
| 사용자의 고객 ID를 찾을 수 없음 | NOT_FOUND (404) |
"Customer ID not found for user." |
로그인한 사용자가 유효한 도메인에 연결되어 있지 않습니다. |
| 페이지로 나누기 중에 목록이 변경됨 | ABORTED |
"List has been mutated. Please restart pagination." |
페이지로 나누기를 하는 동안 기본 도메인 목록이 수정 (변경)되었습니다. 첫 번째 페이지에서 allowlistedDomains.list 작업을 다시 시작해야 합니다. 동시에 진행 중인 변경사항이 있는 경우 전체 목록을 한 번에 가져오는 것이 좋습니다. |
| 잘못된 도메인 필터 값이 제공됨 | INVALID_ARGUMENT (400) |
"Invalid domain filter value provided. Error: <Error message>." |
목록 요청의 필터 매개변수에 제공된 도메인이 비어 있지 않거나 구문상 유효하지 않은지 다시 한번 확인합니다. 잘못된 필터 매개변수가 제공된 경우: 필터에 전달된 잘못된 구문 또는 지원되지 않는 작업으로 인해 allowlistedDomains.list 작업이 실패했습니다. 오류 메시지에 정확한 사용 사례가 설명됩니다. 다음 형식을 사용하여 API를 호출해야 합니다.GET https://cloudidentity.googleapis.com/v1/allowlistedDomains?filter="domain = 'google.com'" |
| 필터 표현식이 잘못됨 | INVALID_ARGUMENT (400) |
"Invalid filter expression: %s." |
요청에 잘못된 필터 표현식이 전달되었습니다. |
| 복합 조건이 지원되지 않음 | INVALID_ARGUMENT (400) |
"Composite conditions (AND, OR, NOT) are not supported in the filter." |
필터는 복합 조건을 지원하지 않습니다. 단일 조건 필터링만 허용됩니다. |
| '=' 연산자만 지원됨 | INVALID_ARGUMENT (400) |
"Only '=' operator is supported in the filter." |
모든 필터 표현식에 같음 연산자 (=)를 사용합니다. 다른 작업은 지원되지 않습니다. |
| 'domain' 필드만 지원됨 | INVALID_ARGUMENT (400) |
"Only 'domain' field is supported in the filter." |
필터는 도메인 필드를 타겟팅해야 합니다 (예: domain = 'example.com'). 다른 필드는 지원되지 않습니다. |
| RHS에 잘못된 멤버 값이 있거나 문자열이어야 함 | INVALID_ARGUMENT (400) |
"RHS of filter expression has invalid member value.""RHS of filter expression should be a string." |
필터 표현식의 오른쪽 값 (RHS)은 문자열 (도메인 이름)이어야 합니다. |
| 페이지 크기가 음수임 | INVALID_ARGUMENT (400) |
"Page size cannot be negative." |
pageSize 매개변수가 음이 아닌 정수인지 확인합니다. |
| 페이지 토큰이 잘못됨 | INVALID_ARGUMENT (400) |
"Invalid page token." |
이 오류는 토큰의 형식이 잘못되었거나 토큰이 만료되었음을 나타냅니다. 이전 목록 응답의 nextPageToken 필드에서 제공된 정확하고 수정되지 않은 토큰을 사용하고 있는지 확인합니다. 유효성 검사에 실패하면 pageToken 매개변수를 생략하여 첫 번째 페이지에서 페이지로 나누기를 다시 시작합니다. |
가져오기 오류 처리
| 오류 조건 | RPC 상태 코드 | 오류 메시지 | 문제 해결 / 근거 |
|---|---|---|---|
| 리소스에 대한 권한이 없음 | PERMISSION_DENIED (403) |
"Permission denied for allowlisted domain resource." |
• 사용자에게 적절한 범위가 부여되었는지 확인합니다. • 사용자에게 필요한 권한이 있는지 확인합니다. • 연락처 이메일에 문의하여 프로젝트/사용자가 허용 목록에 추가되었는지 확인합니다. |
| 사용자의 고객 ID를 찾을 수 없음 | NOT_FOUND (404) |
"Customer ID not found for user." |
로그인한 사용자가 유효한 도메인에 연결되어 있지 않습니다. |
| 허용 목록에서 도메인을 찾을 수 없음 | NOT_FOUND (404) |
"Allowlisted domain <domain> not found" |
제공된 도메인이 허용 목록에 없습니다. |
| 리소스 이름이 잘못됨 | INVALID_ARGUMENT (400) |
"Invalid resource name: <resourceName>." |
리소스 이름 형식 검증: 이름 매개변수에 사용되는 문자열은 allowlistedDomains/UNIQUE_IDENTIFIER 형식을 정확히 따라야 합니다. |