Grooveshark api に接続しようとしています。これは、リクエストに署名するための Grooveshark のガイドラインです: http://developers.grooveshark.com/tuts/public_api
これが私のデータに署名する方法です。しかし、「署名が無効です」というエラーが表示されます。JsonObject を形成する必要がありますか、それともデータを文字列にすることができますか?
String data = "{\"method\":\"getArtistSearchResults\",\"parameters\":{\"query\":\"adele\"},\"header\":{\"wsKey\":\"concertboom\"}}";
String key = "XXXXX";
SecretKeySpec keySpec = new SecretKeySpec(key.getBytes(), "HmacSHA1");
Mac mac = Mac.getInstance("HmacMD5");
mac.init(keySpec);
byte[] result = mac.doFinal(data.getBytes());
BASE64Encoder encoder = new BASE64Encoder();
signature = encoder.encode(result);