4

Jquery を使用して JSON データを Grooveshark API に送信し、検索結果を取得していますが、これが得られる結果です -

{"errors":[{"code":2,"message":"Method not found."}]}

これは、grooveshark API をトリガーするコードです。私はこれに関する問題を理解できません。どんな助けも素晴らしいでしょう。

$.ajax({
type: "POST",
    url: 'http://api.grooveshark.com/ws3.php?sig=secret_code',
    data: {
        "method":"getSongSearchResults",
        "header":{"wsKey":"secret_key"},"parameters":{"query":"megadeth hangar 18","country":"1","limit":"2","offset":""}
    },
    dataType: 'jsonp',
    crossDomain: true,
    async: false,
    success: function () {
        alert("success!"); 
    }

});
4

1 に答える 1

0

ですから、私はまだそこまで到達していませんが、リクエスト URL の末尾にある secret_code をどのように取得しているのでしょうか。

https://github.com/fastest963/GroovesharkAPI-PHP/blob/master/gsAPI.php#L1044から翻訳すると、sig は公開 API キーを申請するときに取得するシークレット コードではないようです。

代わりに、ajax 呼び出しで data パラメータに送信するのは、dict の HMAC(md5) です。私はhttps://code.google.com/p/crypto-js/#HMACを見つけ、それを使用して、データ引数として $.ajax に送信している dict を渡すことで sig を生成しています。 gs API からのシークレットで署名します。

開始セッションを呼び出そうとしていますが、結局

Object { readyState=0, status=0, statusText="error"}

情報が少ないですが、そのURLに行くのはあなたの秘密ではないと確信しています.

于 2013-03-07T18:09:31.700 に答える