GET(/scids/{scid}/leaderboards/{leaderboardname}?include=valuemetadata)
순위표 값과 연결된 메타데이터와 함께 미리 정의된 글로벌 순위표를 가져옵니다.
이 URI의 도메인은 leaderboards.xboxlive.com
입니다.
- 비고
- URI 매개 변수
- 쿼리 문자열 매개 변수
- Authorization
- 리소스에 대한 개인 정보 설정의 영향
- 필수 요청 헤더
- 선택적 요청 헤더
- HTTP 상태 코드
- 응답 헤더
- 응답 본문
설명
?include=valuemetadata 쿼리 매개 변수를 통해 응답에 순위표 값과 연결된 메타데이터가 포함될 수 있습니다. 값 메타데이터에는 경주 트랙에서 최적의 시간을 달성하는 데 사용된 차량의 모델 및 색상 같은 값과 관련된 클라이언트 지정 데이터가 포함되어 있습니다.
값 메타데이터는 순위표 자체가 아닌 순위표가 기반으로 하는 사용자 통계에 정의됩니다.
순위표 API는 모두 읽기 전용이므로 GET 동사만 지원합니다. 플레이어 데이터 시스템을 통해 작성된 개별 사용자 통계의 인덱싱된 파생 플레이어 통계의 순위가 지정되고 정렬된 "페이지"를 반영합니다. 전체 순위표 인덱스는 대규모일 수 있으며 호출자는 전체를 볼 필요가 없으므로 이 URI는 호출자가 해당 순위표에 대해 보고 싶은 유형을 특정할 수 있는 여러 쿼리 문자열 인수를 지원합니다.
GET 작업은 리소스를 수정하지 않으므로 한 번 또는 여러 번 실행하는 경우 동일한 결과가 생성됩니다.
URI 매개 변수
매개 변수 | 형식 | 설명 |
---|---|---|
scid | GUID | 액세스되는 리소스를 포함하는 서비스 구성 식별자입니다. |
leaderboardname | 문자열 | 액세스되는 미리 정의된 순위표 리소스의 고유 식별자입니다. |
쿼리 문자열 매개 변수
매개 변수 | 형식 | 설명 |
---|---|---|
include=valuemetadata | 문자열 | 응답에 순위표 값과 관련된 값 메타데이터가 포함되는 것을 나타냅니다. |
maxItems | 32비트 부호 없는 정수 | 결과 페이지에서 반환할 순위표 레코드의 최대 수입니다. 지정하지 않으면 기본 숫자가 반환됩니다(10). maxItems의 최대 값은 여전히 정의되어 있지 않지만 대규모 데이터 집합은 방지하고자 하므로 이 값은 튜너 UI가 호출당 처리할 수 있는 최대 집합을 대상으로 해야 합니다. |
skipToRank | 32비트 부호 없는 정수 | 지정된 순위표 순위로 시작하는 결과 페이지를 반환합니다. 나머지 결과는 순위별로 정렬됩니다. 이 쿼리 문자열은 결과의 "다음 페이지"를 가져오기 위해 후속 쿼리로 다시 공급될 수 있는 연속 토큰을 반환할 수 있습니다. |
skipToUser | 문자열 | 해당 사용자의 순위 또는 점수와 상관없이 지정된 gamer xuid와 관련하여 순위표 결과 페이지를 반환합니다. 해당 페이지는 미리 정의된 보기 페이지의 마지막 위치에서 지정된 사용자와 함께 백분위 수 순위에 따라 정렬되거나 통계 순위표 보기의 중간에 정렬됩니다. 이 유형의 쿼리에는 continuationToken이 제공되지 않습니다. |
continuationToken | 문자열 | 이전 호출에서 continuationToken이 반환된 경우 호출자는 쿼리 문자열에서 해당 토큰을 "있는 그대로" 다시 전달하여 결과의 다음 페이지를 가져올 수 있습니다. |
Authorization
콘텐츠 격리 및 액세스 제어 시나리오에 대해 구현된 권한 부여 논리가 있습니다.
- 호출자가 요청과 함께 유효한 XSTS 토큰을 제출하는 경우 모든 플랫폼의 클라이언트에서 순위표와 사용자 통계를 모두 읽을 수 있습니다. 쓰기는 플레이어 데이터 시스템에서 지원하는 클라이언트로 제한됩니다.
- 타이틀 개발자는 파트너 센터에서 통계를 공개 또는 제한으로 표시할 수 있습니다. 순위표는 공개된 통계입니다. 사용자가 샌드박스에 대한 권한이 있는 한 공개된 통계는 Smartglass뿐만 아니라 iOS, Android, Windows, Windows Phone 및 웹 애플리케이션을 통해 액세스할 수 있습니다. 샌드박스에 대한 사용자 권한 부여는 파트너 센터를 통해 관리됩니다.
검사에 대한 의사 코드는 다음과 같습니다.
If (!checkAccess(serviceConfigId, resource, CLAIM[userid, deviceid, titleid]))
{
Reject request as Unauthorized
}
// else accept request.
리소스에 대한 개인 정보 설정의 영향
순위표 데이터를 읽을 때 개인 정보 보호 검사가 수행되지 않습니다.
필수 요청 헤더
헤더 | 설명 |
---|---|
Authorization | 문자열입니다. HTTP 인증을 위한 인증 자격 증명입니다. 예제 값: XBL3.0 x=<userhash>;<token> |
X-Xbl-Contract-Version | 문자열입니다. 사용할 API 버전을 나타냅니다. 응답에 값 메타데이터를 포함하려면 이 값을 "3"으로 설정해야 합니다. |
X-RequestedServiceVersion | 문자열입니다. 이 요청을 연결해야 하는 Xbox LIVE 서비스의 이름/번호를 작성합니다. 헤더의 유효성과 권한 부여 토큰의 클레임 등을 확인한 이후에만 요청이 해당 서비스로 라우팅됩니다. 기본 값은 1입니다. |
수락 | 문자열입니다. 허용 가능한 콘텐츠-유형입니다. 예제 값: application/json |
선택적 요청 헤더
헤더 | 설명 |
---|---|
If-None-Match | 문자열입니다. 클라이언트가 캐싱을 지원하는 경우 사용되는 엔터티 태그입니다. 예제 값: "686897696a7c876b7e" |
HTTP 상태 코드
서비스는 이 리소스에서 이 메서드를 통해 수행한 요청에 대한 응답으로 이 섹션의 상태 코드 중 하나를 반환합니다. Xbox Live 서비스에서 사용되는 표준 HTTP 상태 코드의 전체 목록은 표준 HTTP 상태 코드를 참조하세요.
코드 | 이유 구문 | 설명 |
---|---|---|
200 | OK | 세션이 성공적으로 검색되었습니다. |
304 | Not Modified | 마지막으로 요청한 이후로 리소스가 수정되지 않았습니다. |
400 | Bad Request | 서비스가 형식이 잘못된 요청을 이해할 수 없습니다. 일반적으로 잘못된 매개 변수입니다. |
401 | Unauthorized | 요청에 대해 사용자 인증이 필요합니다. |
403 | Forbidden | 사용자 또는 서비스에 대해 요청이 허용되지 않습니다. |
404 | Not Found | 지정된 리소스를 찾을 수 없습니다. |
406 | Not Acceptable | 리소스 버전이 지원되지 않습니다. |
408 | Request Timeout | 리소스 버전은 지원되지 않습니다. MVC 계층에서 거부되어야 합니다. |
응답 헤더
헤더 | 유형 | 설명 |
---|---|---|
콘텐츠-종류 | 문자열 | 필수. 응답 본문의 MIME 유형입니다. 예: application/json. |
Content-Length | 문자열 | 필수. 응답에서 전송되는 바이트 수입니다. 예: 232. |
ETag | 문자열 | 선택 사항. 캐시 최적화에 사용됩니다. 예: 686897696a7c876b7e. |
응답 본문
응답 멤버
pagingInfo | pagingInfo | section | 선택 사항. maxItems가 요청에 지정된 경우에만 표시됩니다. |
---|---|---|---|
continuationToken | 64비트 부호 없는 정수 | 필수. 원하는 경우 skipItems 쿼리 매개 변수에 다시 입력하여 해당 URI의 결과 페이지를 가져올 값을 지정합니다. pagingInfo가 반환되지 않는 경우 획득할 데이터의 다음 페이지가 없습니다. | |
totalItems | 64비트 부호 없는 정수 | 필수. 순위표의 총 항목 수입니다. 예제 값: 1234567890 |
leaderboardInfo | leaderboardInfo | section | 필수. 항상 반환됩니다. 요청된 순위표에 대한 메타데이터가 포함되어 있습니다. |
---|---|---|---|
displayName | 문자열 | 사용되지 않습니다. | |
totalCount | 문자열(부호 없는 64비트 정수) | 필수. 순위표의 총 항목 수입니다. 예제 값: 1234567890 | |
columnDefinition | JSON 개체 | 필수. 순위표에서 열을 설명합니다. | |
columnDefinition.displayName | 문자열 | 필수. 순위표에서 열을 설명하는 이름입니다. | |
columnDefinition.statName | 문자열 | 필수. 순위표가 기반으로 하는 사용자 통계의 이름입니다. | |
columnDefinition.type | 문자열 | 필수. 열에 있는 사용자 통계의 데이터 유형입니다. |
userList | userList | section | 필수. 항상 반환됩니다. 요청된 순위표의 실제 사용자 점수를 포함합니다. |
---|---|---|---|
gamertag | 문자열 | 필수. 순위표 항목에 있는 사용자의 게이머태그입니다. | |
xuid | 64비트 부호 없는 정수 | 필수. 순위표 항목에 있는 사용자의 Xbox 사용자 ID입니다. | |
percentile | 문자열 | 필수. 순위표의 사용자 백분위 순위입니다. | |
rank | 문자열 | 필수. 순위표의 사용자 숫자 순위입니다. | |
value | 문자열 | 필수. 순위표가 기반으로 하는 통계의 사용자 값입니다. | |
valueMetadata | 문자열 | 필수. ""name" : "value", ..." 형식의 쉼표로 구분된 문자열 쌍의 문자열입니다. |
메타데이터가 없는 경우 이 값은 빈 문자열입니다.
샘플 응답
다음 요청 URI는 글로벌 순위표의 순위를 건너뛰는 것을 보여 줍니다.
https://leaderboards.xboxlive.com/scids/0FA0D955-56CF-49DE-8668-05D82E6D45C4/leaderboards/TotalFlagsCaptured?include=valuemetadata&maxItems=3&skipToRank=15000
값 메타데이터를 반환하려면 다음 헤더도 지정해야 합니다.
X-Xbl-Contract-Version : 3
위의 URI는 다음 JSON 응답을 반환합니다.
{
"pagingInfo": {
"continuationToken": "15003",
"totalItems": 23437
},
"leaderboardInfo": {
"displayName": "Total flags captured",
"totalCount": 23437,
"columnDefinition" :
{
"displayName": "Flags Captured",
"statName": "flagscaptured",
"type": "Integer"
}
},
"userList": [
{
"gamertag": "WarriorSaint",
"xuid": "1234567890123444",
"percentile": 0.64,
"rank": 15000,
"value": "1002",
"valuemetadata" : "{\"color\" : \"silver\",\"weight\" : 2000, \"israining\" : false}"
},
{
"gamertag": "xxxSniper39",
"xuid": "1234567890123555",
"percentile": 0.64,
"rank": 15001,
"value": "993",
"valuemetadata" : "{\"color\" : \"silver\",\"weight\" : 2020, \"israining\" : true}"
},
{
"gamertag": "WhockaWhocka",
"xuid": "1234567890123666",
"percentile": 0.64,
"rank": 15002,
"value": "700",
"valuemetadata" : "{\"color\" : \"red\",\"weight\" : 300, \"israining\" : false}"
}
]
}