나는 Last.fm과 통합되는 아주 기본적인 Grails 애플리케이션을위한 토대를 마련하고 있습니다. 나는 세션 키를 얻을 사용자 인증에 붙어있어. 설명서에서, 코드에서 아래에있는 형식의 매우 간단한 HTTP POST처럼 들립니다. 나는 HTTPBuilder의 포스트 요청 (POST) 내가 찾은 모든 변화하지만,이 같은 뭔가 밖으로 모든 오류 시도했다 :Groovy HTTPBuilder POST : 누락 된 메소드
| Server running. Browse to http://localhost:8080/GroovyLastFM
| Error 2013-05-14 19:57:10,042 [http-bio-8080-exec-3] ERROR errors.GrailsExceptionResolver - MissingPropertyException occurred when processing request: [GET] /GroovyLastFM/RecentSongs/tokenChecker - parameters:
token: 452b5619f98e3b66cec11b61940af500
No such property: Method for class: GroovyLastFM.User. Stacktrace follows:
Message: No such property: Method for class: GroovyLastFM.User
Line | Method
->> 28 | getSession in GroovyLastFM.User
내가 가져와야 할 수 밖에 모르는,하지만 분명히 무언가가 빠졌어. grails 플러그인이 들어있는 곳입니까? 그렇다면 HTTPBuilder를 작동시키기 위해 앱 수준에 무엇을 포함시켜야합니까? 나는 grails에 매우 익숙하며, 의존성에 추가적으로 어떤 이점이 있는지, 또는 어떻게해야하는지 잘 모릅니다. 또한 Grails 2.1.1을 사용 중이며 IDE를 사용하지 않습니다. 감사!
package GroovyLastFM
@Grab(group='org.codehaus.groovy.modules.http-builder', module='http-builder', version='0.5.0-RC2')
import java.security.MessageDigest
import groovyx.net.http.HTTPBuilder
import static groovyx.net.http.ContentType.*
import static groovyx.net.http.Method.*
class User {
String token
String api_key = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
String secret = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
User (String token) {
this.token = token
getSession()
}
def getSession() {
String signature = md5("api_key" + api_key + "methodauth.getSessiontoken" + token + secret)
def postbody = [token:token, api_key:api_key, method:'auth.getSession', api_sig:signature]
def http = new HTTPBuilder("http://wx.audioscrobbler.com/2.0/")
http.request(Method.POST) {req->
headers.accept = "application/xml"
requestContentType = ContentType.URLENC
body = postbody
response.success { resp,xml->
// read xml response
}
}
}
나는 또한 나의 매개 변수가 올바른지 확인하기 위해 기본 컬 게시물을 시도 않았고, 내가 예상대로 세션 키를 반환 한 :
curl -X POST -d "token=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&api_key=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&method=auth.getSession&api_sig=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" http://ws.audioscrobbler.com/2.0/
링크 :
- 마지막 .fm API : www.last.fm/api/webauth
- 이전 게시물 나는 위에 짓고있었습니다 : HTTPBuilder HTTP Post url encoded parameters and accept xml response?
- HTTPBuilder 포스트 닥 : 당신이
No such property: Method
을 받고 왜 당신은groovyx.net.http.Method.*
을 가져오고Method.POST
를 사용하는 http://groovy.codehaus.org/modules/http-builder/doc/post.html
내가 가까워 져야한다는 것을 알았어 :) 고마워. – turnerd18
여러분을 환영합니다! :) – elias