I’d like to scrape messages from google spcaes. So, I got credentials and created script with Google Chat API. Bloew is python function to get all spaces. def list_google_chat_spaces(service): """ Google Chat 스페이스 목록을 가져옵니다. """ print("\n---") print("Google Chat 스페이스 목록 가져오는 중...") print("---") try: request = service.spaces().list(filter='space_type = "SPACE"') response = request.execute() spaces = response.get('spaces', []) # 모든 페이지의 스페이스를 가져옵니다. while 'nextPageToken' in response: request = service.spaces().list_next( previous_request=request, previous_response=response) response = request.execute() spaces.extend(response.get('spaces', [])) return spaces except HttpError as error: print(f"API 호출 중 HTTP 오류 발생: {error}") print(f"오류 상세 정보: {error.resp.status}, {error.content.decode()}") return None except Exception as e: print(f"예기치 않은 오류 발생: {e}") return None It seems like appears that only a spatial list of users is visible. In this case, Is there an api to add that user to all spaces? When creating space, can that user be automatically involved? Below is python function to scrape message from space. def list_messages_in_space(service, space_name): """ 특정 스페이스 내의 메시지 목록을 가져와 출력합니다. """ print(f"\n---") print(f"'{space_name}' 스페이스의 메시지 가져오는 중...") print(f"---") try: # messages().list() 메서드를 사용하여 특정 스페이스의 메시지를 가져옵니다. # parent 인자에 스페이스의 resource name을 전달해야 합니다. # pageSize를 통해 한 번에 가져올 메시지 수를 조절할 수 있습니다 (기본값 25, 최대 1000). # filter를 통해 특정 메시지 필터링도 가능합니다. request = service.spaces().messages().list( parent=space_name, pageSize=50) # 예시로 50개 메시지 요청 response = request.execute() messages = response.get('messages', []) if not messages: print("이 스페이스에 메시지가 없습니다.") return else: print(f"총 {len(messages)}개의 메시지를 찾았습니다 (최신순):") # 메시지는 최신순으로 반환되므로, 필요에 따라 정렬을 변경할 수 있습니다. for message in messages: # print(message) sender = message.get('sender', {}).get('name', '알 수 없는 사용자') create_time = message.get('createTime', '알 수 없음') text_content = message.get('text', '텍스트 없음') print(f"---") print(f"보낸 사람: {sender}") print(f"시간: {create_time}") print(f"내용: {text_content}") print(f"---") # 다음 페이지가 있다면 계속 가져옵니다. # 모든 메시지를 가져오려면 이 루프를 사용합니다. while 'nextPageToken' in response: request = service.spaces().messages().list_next( previous_request=request, previous_response=response) response = request.execute() new_messages = response.get('messages', []) messages.extend(new_messages) print(f"추가 메시지 가져오는 중... (현재까지 총 {len(messages)}개)") for message in new_messages: # 새로 가져온 메시지만 출력 print(message) sender = message['sender'].get('name', '알 수 없는 사용자') create_time = message.get('createTime', '알 수 없음') text_content = message.get('text', '텍스트 없음') print(f"---") print(f"보낸 사람: {sender}") print(f"시간: {create_time}") print(f"내용: {text_content}") print(f"---") except HttpError as error: print(f"API 호출 중 HTTP 오류 발생: {error}") print(f"오류 상세 정보: {error.resp.status}, {error.content.decode()}") if error.resp.status == 403: print( "권한 오류: 이 스페이스의 메시지를 읽을 권한이 없거나, 앱에 대한 Google Workspace 관리자 승인이 필요할 수 있습니다.") elif error.resp.status == 404: print("스페이스를 찾을 수 없습니다. 스페이스 이름이 정확한지 확인하세요.") except Exception as e: print(f"예기치 않은 오류 발생: {e}") The sender is printed in this format: user/. Is there a way or api to get it to the name that is displayed in google chat? Continue reading...