listWindow method
Lists the scores in a leaderboard around (and including) a player's score.
Request parameters:
leaderboardId
- The ID of the leaderboard.
collection
- The collection of scores you're requesting.
Possible string values are:
- "PUBLIC" : List all scores in the public leaderboard.
- "SOCIAL" : (Obsolete) Legacy G+ social scores.
- "FRIENDS" : List only scores of friends.
timeSpan
- Required. The time span for the scores and ranks you're
requesting.
Possible string values are:
- "ALL_TIME" : The score is an all-time score.
- "WEEKLY" : The score is a weekly score.
- "DAILY" : The score is a daily score.
language
- The preferred language to use for strings returned by this
method.
maxResults
- The maximum number of leaderboard scores to return in the
response. For any response, the actual number of leaderboard scores
returned may be less than the specified maxResults
.
pageToken
- The token returned by the previous request.
resultsAbove
- The preferred number of scores to return above the
player's score. More scores may be returned if the player is at the bottom
of the leaderboard; fewer may be returned if the player is at the top.
Must be less than or equal to maxResults.
returnTopIfAbsent
- True if the top scores should be returned when the
player is not in the leaderboard. Defaults to true.
$fields
- Selector specifying which fields to include in a partial
response.
Completes with a LeaderboardScores.
Completes with a commons.ApiRequestError if the API endpoint returned an error.
If the used http.Client
completes with an error when making a REST call,
this method will complete with the same error.
Implementation
async.Future<LeaderboardScores> listWindow(
core.String leaderboardId,
core.String collection,
core.String timeSpan, {
core.String? language,
core.int? maxResults,
core.String? pageToken,
core.int? resultsAbove,
core.bool? returnTopIfAbsent,
core.String? $fields,
}) async {
final queryParams_ = <core.String, core.List<core.String>>{
'timeSpan': [timeSpan],
if (language != null) 'language': [language],
if (maxResults != null) 'maxResults': ['${maxResults}'],
if (pageToken != null) 'pageToken': [pageToken],
if (resultsAbove != null) 'resultsAbove': ['${resultsAbove}'],
if (returnTopIfAbsent != null)
'returnTopIfAbsent': ['${returnTopIfAbsent}'],
if ($fields != null) 'fields': [$fields],
};
final url_ = 'games/v1/leaderboards/' +
commons.escapeVariable('$leaderboardId') +
'/window/' +
commons.escapeVariable('$collection');
final response_ = await _requester.request(
url_,
'GET',
queryParams: queryParams_,
);
return LeaderboardScores.fromJson(
response_ as core.Map<core.String, core.dynamic>);
}