跳转到主要内容

查询Token

访问Token的信息查询。

URL确认

此API使用 service-account.playnanoo.com 域名。

API信息

  • URL: https://service-account.playnanoo.com/api/v20240401/token/info
  • Method: GET
  • 需要认证: 是 (Bearer Token)

请求参数

参数类型必填说明
access_tokenstring必填要查询的访问Token
platformstring必填平台 (例如: "aos", "ios")
device_idstring必填设备唯一ID
device_modelstring必填设备型号
device_osstring必填设备OS
device_languagestring必填设备语言 (例如: "KO", "EN")

响应数据

Res类

字段类型说明
TokenFSerializeTokenDataToken信息
PlayerFSerializePlayerData玩家信息

FSerializeTokenData 结构

字段类型说明
AccessTokenFString访问Token
RefreshTokenFString刷新Token

FSerializePlayerData 结构

字段类型说明
UserUniqueIDFString用户唯一ID
OpenIDFStringOpen ID
NicknameFString昵称
LinkedIDFString关联ID
LinkedTypeFString关联类型
PurchaseCountint32购买次数
PurchaseCurrencyCodeFString购买货币代码
PurchaseTotalPricedouble总购买金额
PurchaseVoidedCountint32退款次数
PurchaseVoidedCurrencyCodeFString退款货币代码
PurchaseVoidedTotalPricedouble总退款金额
CountryFString国家
TimezoneFString时区
Offsetint32时间偏移
JoinPeriodint32注册时长

代码示例

void UMyGame::GetTokenInfo(const FString& AccessToken)
{
// 디바이스 정보가 포함된 요청 바디 생성
TSharedPtr<FJsonObject> Body = FPlayNANOOHelper::CreateRequestBody();
Body->SetStringField(TEXT("access_token"), AccessToken);

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

// HTTP 요청
TSharedRef<IHttpRequest> Request = FHttpModule::Get().CreateRequest();
Request->SetURL(TEXT("https://service-account.playnanoo.com/api/v20240401/token/info"));
Request->SetVerb(TEXT("GET"));
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))
{
// 토큰 정보
const TSharedPtr<FJsonObject>* TokenObject;
if (JsonObject->TryGetObjectField(TEXT("Token"), TokenObject))
{
FString AccessTokenInfo;
(*TokenObject)->TryGetStringField(TEXT("AccessToken"), AccessTokenInfo);
UE_LOG(LogTemp, Log, TEXT("토큰 정보 조회 성공"));
}

// 플레이어 정보
const TSharedPtr<FJsonObject>* PlayerObject;
if (JsonObject->TryGetObjectField(TEXT("Player"), PlayerObject))
{
FString Nickname;
(*PlayerObject)->TryGetStringField(TEXT("Nickname"), Nickname);
UE_LOG(LogTemp, Log, TEXT("Nickname: %s"), *Nickname);
}
}
}
});

Request->ProcessRequest();
}
Bearer Token认证

此API使用Bearer Token认证。在Authorization头中包含Token。