de.sonallux.spotify.api.apis.player.GetRecentlyPlayedRequest Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of spotify-web-api-java Show documentation
Show all versions of spotify-web-api-java Show documentation
A Java wrapper for Spotify's Web API
The newest version!
package de.sonallux.spotify.api.apis.player;
import com.fasterxml.jackson.core.type.TypeReference;
import de.sonallux.spotify.api.http.ApiCall;
import de.sonallux.spotify.api.http.ApiClient;
import de.sonallux.spotify.api.http.Request;
import de.sonallux.spotify.api.models.*;
/**
* Get Recently Played Tracks request
*
* Required OAuth scopes
* user-read-recently-played
*
* Response
* A paged set of tracks
*/
public class GetRecentlyPlayedRequest {
private static final TypeReference> RESPONSE_TYPE = new TypeReference<>() {};
private final ApiClient apiClient;
private final Request request;
/**
* Get Recently Played Tracks request
* @param apiClient The API client
*/
public GetRecentlyPlayedRequest(ApiClient apiClient) {
this.apiClient = apiClient;
this.request = new Request("GET", "/me/player/recently-played")
;
}
/**
* @param limit The maximum number of items to return. Default: 20. Minimum: 1. Maximum: 50.
* @return this request
*/
public GetRecentlyPlayedRequest limit(int limit) {
this.request.addQueryParameter("limit", String.valueOf(limit));
return this;
}
/**
* @param after A Unix timestamp in milliseconds. Returns all items after (but not including) this cursor position. If after
is specified, before
must not be specified.
* @return this request
*/
public GetRecentlyPlayedRequest after(int after) {
this.request.addQueryParameter("after", String.valueOf(after));
return this;
}
/**
* @param before A Unix timestamp in milliseconds. Returns all items before (but not including) this cursor position. If before
is specified, after
must not be specified.
* @return this request
*/
public GetRecentlyPlayedRequest before(int before) {
this.request.addQueryParameter("before", String.valueOf(before));
return this;
}
/**
* Build the request into an executable api call
* @return an executable api call
*/
public ApiCall> build() {
return apiClient.createApiCall(request, RESPONSE_TYPE);
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy