본문으로 건너뛰기

길드 멤버 조회

길드 멤버 목록을 조회합니다.

URL 확인

이 API는 service-api.playnanoo.com 도메인을 사용합니다.

API 정보

  • URL: https://service-api.playnanoo.com/guild/v20230101/member/search
  • Method: PUT
  • 인증 필요: 예 (Bearer Token)

요청 파라미터

파라미터타입필수설명
device_idstring필수디바이스 ID
table_codestring필수테이블 코드
uidstring필수길드 UID

응답 데이터

Member 정보 배열

  • MemberUuid: 멤버 UUID
  • Nickname: 닉네임
  • Grade: 멤버 등급 ("master", "manager", "member")
  • Point: 멤버 포인트
  • JoinedAt: 가입 일시
  • ExtraData: 추가 데이터

코드 예제

void UMyGame::GetGuildMembers(const FString& DeviceId, const FString& TableCode, const FString& GuildUid)
{
// 플레이어 정보가 포함된 요청 바디 생성
TSharedPtr<FJsonObject> Body = FPlayNANOOHelper::CreateRequestBody();
Body->SetStringField(TEXT("device_id"), DeviceId);
Body->SetStringField(TEXT("table_code"), TableCode);
Body->SetStringField(TEXT("uid"), GuildUid);

// JSON 문자열 변환
FString JsonBody = FPlayNANOOHelper::ToJsonString(Body);

// HTTP 요청
TSharedRef<IHttpRequest> Request = FHttpModule::Get().CreateRequest();
Request->SetURL(TEXT("https://service-api.playnanoo.com/guild/v20230101/member/search"));
Request->SetVerb(TEXT("PUT"));
FPlayNANOOHelper::SetCommonHeaders(Request, true); // 인증 토큰 포함
Request->SetContentAsString(JsonBody);

Request->OnProcessRequestComplete().BindLambda(
[](FHttpRequestPtr Req, FHttpResponsePtr Res, bool bSuccess)
{
if (bSuccess && Res.IsValid())
{
TSharedPtr<FJsonObject> JsonObject;
TSharedRef<TJsonReader<>> Reader = TJsonReaderFactory<>::Create(Res->GetContentAsString());

if (FJsonSerializer::Deserialize(Reader, JsonObject))
{
int32 Total = JsonObject->GetIntegerField(TEXT("Total"));
const TArray<TSharedPtr<FJsonValue>>* MembersArray;

if (JsonObject->TryGetArrayField(TEXT("Members"), MembersArray))
{
UE_LOG(LogTemp, Log, TEXT("길드 멤버 조회 성공! 총 %d명"), Total);

for (const auto& MemberValue : *MembersArray)
{
TSharedPtr<FJsonObject> Member = MemberValue->AsObject();
FString Nickname = Member->GetStringField(TEXT("Nickname"));
FString Grade = Member->GetStringField(TEXT("Grade"));
int32 Point = Member->GetIntegerField(TEXT("Point"));

UE_LOG(LogTemp, Log, TEXT("Member: %s [%s] - %d points"), *Nickname, *Grade, Point);
}
}
}
}
});

Request->ProcessRequest();
}
인증 필요

이 API는 Bearer 토큰 인증이 필요합니다. 먼저 로그인하여 액세스 토큰을 발급받아야 합니다.

멤버 등급

Grade 필드는 다음 값을 가질 수 있습니다:

  • "master": 길드 마스터 (길드 생성자)
  • "manager": 길드 관리자 (부마스터)
  • "member": 일반 멤버
정렬 순서

멤버 목록은 기본적으로 가입 일시 순으로 정렬되어 반환됩니다.