de.sonallux.spotify.api.apis.player.TransferUsersPlaybackRequest 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.*;
/**
* Transfer Playback request
*
* Required OAuth scopes
* user-modify-playback-state
*
* Response
* Playback transferred
*/
public class TransferUsersPlaybackRequest {
private static final TypeReference RESPONSE_TYPE = new TypeReference<>() {};
private final ApiClient apiClient;
private final Request request;
/**
* Transfer Playback request
* @param apiClient The API client
* @param deviceIds A JSON array containing the ID of the device on which playback should be started/transferred.
For example:{device_ids:["74ASZWbe4lXaubB36ztrGX"]}
Note: Although an array is accepted, only a single device_id is currently supported. Supplying more than one will return 400 Bad Request
*/
public TransferUsersPlaybackRequest(ApiClient apiClient, java.util.List deviceIds) {
this.apiClient = apiClient;
this.request = new Request("PUT", "/me/player")
.addBodyParameter("device_ids", deviceIds)
;
}
/**
* @param play true: ensure playback happens on new device.
false or not provided: keep the current playback state.
* @return this request
*/
public TransferUsersPlaybackRequest play(boolean play) {
this.request.addBodyParameter("play", play);
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