main
HuangHai 2 months ago
parent d8a00514f6
commit b510cc7362

@ -112,11 +112,11 @@ public class SunoMusicGenerator {
Thread.sleep(RETRY_INTERVAL); Thread.sleep(RETRY_INTERVAL);
// 构建查询URL添加ids参数 // 构建查询URL添加ids参数
HttpUrl.Builder urlBuilder = HttpUrl.parse(FEED_URL).newBuilder(); // 注意不使用HttpUrl.Builder直接构建URL字符串以避免自动URL编码
StringBuilder urlBuilder = new StringBuilder(FEED_URL);
// 添加ids参数用逗号分隔多个ID // 添加ids参数用逗号分隔多个ID
if (!taskIds.isEmpty()) { if (!taskIds.isEmpty()) {
// 注意这里我们查询的是clips的ID而不是生成任务的ID
// 从生成响应中获取clips的ID // 从生成响应中获取clips的ID
List<String> clipIds = new ArrayList<>(); List<String> clipIds = new ArrayList<>();
if (generateJson.containsKey("clips")) { if (generateJson.containsKey("clips")) {
@ -129,28 +129,34 @@ public class SunoMusicGenerator {
} }
} }
// 构建查询参数
urlBuilder.append("?");
// 如果找到了clips的ID则使用这些ID进行查询 // 如果找到了clips的ID则使用这些ID进行查询
if (!clipIds.isEmpty()) { if (!clipIds.isEmpty()) {
String idsParam = String.join(",", clipIds); String idsParam = String.join(",", clipIds);
urlBuilder.addQueryParameter("ids", idsParam); urlBuilder.append("ids=").append(idsParam);
log.info("使用clips ID查询: {}", idsParam); log.info("使用clips ID查询: {}", idsParam);
} else { } else {
// 否则使用任务ID // 否则使用任务ID
String idsParam = String.join(",", taskIds); String idsParam = String.join(",", taskIds);
urlBuilder.addQueryParameter("ids", idsParam); urlBuilder.append("ids=").append(idsParam);
log.info("使用任务ID查询: {}", idsParam); log.info("使用任务ID查询: {}", idsParam);
} }
} }
String url = urlBuilder.toString();
log.info("查询URL: {}", url);
// 创建查询请求 // 创建查询请求
Request feedRequest = new Request.Builder() Request feedRequest = new Request.Builder()
.url(urlBuilder.build()) .url(url)
.method("GET", null) .method("GET", null)
.addHeader("Authorization", "Bearer " + ak) .addHeader("Authorization", "Bearer " + ak)
.addHeader("Accept", "application/json") // 添加Accept头 .addHeader("Accept", "application/json") // 添加Accept头
.build(); .build();
log.info("查询URL: {}", urlBuilder.build()); log.info("查询URL: {}", url);
// 执行查询请求 // 执行查询请求
Response feedResponse = client.newCall(feedRequest).execute(); Response feedResponse = client.newCall(feedRequest).execute();

Loading…
Cancel
Save