最近我在使用Last.fm API时遇到了问题,我有一个完全可用的代码,2/3天前还能正常工作,但今天每次尝试从API获取艺术家图片时,都会返回一个数组,其中所有艺术家的所有图片大小都是相同的网址。一个灰色背景白色星星的图像。我已经尝试创建另一个带有新API密钥的帐户,以检查是否与我的密钥有问题,因为自上次更新API相关代码以来已经过了几个月,但没有成功。
以下是代码:
private static final String BASE_URL = "http://ws.audioscrobbler.com/2.0/";
private static final String API_KEY = "123456789";
@Nullable
public static String fetchJson(String url) {
HttpURLConnection urlConnection = null;
StringBuilder mStringBuilder = new StringBuilder();
try {
urlConnection = (HttpURLConnection) new URL(url).openConnection();
InputStream mInputStream = new BufferedInputStream(urlConnection.getInputStream());
BufferedReader mReader = new BufferedReader(new InputStreamReader(mInputStream));
String line;
while ((line = mReader.readLine()) != null) {
mStringBuilder.append(line);
}
return mStringBuilder.toString();
} catch (Exception e) {
e.printStackTrace();
return null;
} finally {
if (urlConnection != null) urlConnection.disconnect();
}
}
public static String createArtistURL(String artistName) {
artistName = artistName.replace("&", "%26");
// TODO: 03/05/2019 testar isso URLEncoder.encode(artistName,UTF?);
return BASE_URL.concat("?method=artist.getinfo")
.concat("&artist=").concat(artistName)
.concat("&lang=").concat(Locale.getDefault().getLanguage())
.concat("&api_key=").concat(API_KEY)
.concat("&format=json");
}