길드 멤버 조회
길드 멤버 목록을 조회합니다.
URL 확인
이 API는 service-api.playnanoo.com 도메인을 사용합니다.
API 정보
- URL:
https://service-api.playnanoo.com/guild/v20230101/member/search - Method:
PUT - 인증 필요: 예 (Bearer Token)
요청 파라미터
| 파라미터 | 타입 | 필수 | 설명 |
|---|---|---|---|
| device_id | string | 필수 | 디바이스 ID |
| table_code | string | 필수 | 테이블 코드 |
| uid | string | 필수 | 길드 UID |
응답 데이터
Member 정보 배열
MemberUuid: 멤버 UUIDNickname: 닉네임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": 일반 멤버
정렬 순서
멤버 목록은 기본적으로 가입 일시 순으로 정렬되어 반환됩니다.