Play のクエリ パラメータを MD5 ハッシュする必要があります。2.0 Web サービス要求。ハッシュを処理するために私がまとめているスケルトンメソッドは次のとおりです。
def API_SIG(params: Seq[(String,String)]) = {
val hashParams = params.sortBy(_._1) :+ ("api_secret",API_SECRET)
getMD5Hash(hashParams.toStringWhateverNativeMethod)
}
これSeq[(String,String)]
は、一連のクエリ パラメータを Play! ウェブサービス。コンテキスト:
val requestParams = Seq() // nothing here, yet
val finalParams = Seq(("api_key",API_KEY)) ++ requestParams
val sigParams = requestParams :+ ("api_secret",API_SECRET)
val signature = ("sig" -> API_SIG(params))
val finalQueries = Seq(sigParam) ++ finalParams
val request =
WS
.url(requestUri)
.withQueryString(finalQueries:_*)
要約: 基本的に、Seq[(String,String)]
を のようなクエリ パラメータ文字列に変換する必要がありますparam=value&more=better&etc=keepsgoing
。Play! これにはネイティブな方法があります。または、誰かがこれを行う簡単な方法を知っている場合。助けてくれてありがとう!