private String makePostRequest(String url, Map<String, String> params) throws IOException {
    HttpRequestFactory requestFactory = httpTransport.createRequestFactory();
    StringBuilder extraArgs = new StringBuilder();
    params.entrySet().forEach(entry -> {
      try {
        extraArgs
            .append("&")
            .append(entry.getKey())
            .append("=")
            .append(URLEncoder.encode(entry.getValue(), "UTF8"));
      } catch (UnsupportedEncodingException e) {
        throw new IllegalArgumentException(e);
      }
    });
    HttpRequest getRequest =
        requestFactory.buildGetRequest(
            new GenericUrl(url
                + "?output=json&request_method=post&access_token=" + accessToken
                + extraArgs));
    perUserRateLimiter.acquire();
    HttpResponse response = getRequest.execute();
    int statusCode = response.getStatusCode();
    if (statusCode != 200) {
      throw new IOException(
          "Bad status code: " + statusCode + " error: " + response.getStatusMessage());
    }
    String result =
        CharStreams.toString(new InputStreamReader(response.getContent(), StandardCharsets.UTF_8));
    return result;
  }
A utility wrapper for interacting with the Deezer Api.

<p>See: https://developers.deezer.com/api/explorer
extensions/data-transfer/portability-data-transfer-deezer/src/main/java/org/datatransferproject/transfer/deezer/DeezerApi.java