我正在尝试运行一个调用Linkedin API的groovy脚本。问题是,如何使用groovy脚本中的grails插件进行身份验证?这是我的配置:
oauth {
linkedin {
requestTokenUrl="https://api.linkedin.com/uas/oauth/requestToken"
accessTokenUrl="https://api.linkedin.com/uas/oauth/accessToken"
authUrl="https://www.linkedin.com/uas/oauth/authenticate"
consumer.key="xxxxxxxxx"
consumer.secret="xxxxxxxxxx"
}
} 这是我的脚本,我以"grails scriptname.groovy“开头:
import org.grails.plugins.oauth.OauthService
def oauthService = new OauthService()
oauthService.reset()
def URL = "http://api.linkedin.com/v1/people-search?country-code=us&postal-code=98102&distance=100&start=0&count=5"
def recs_response = oauthService.accessResource( URL, "linkedin", [key:"xxxxxxx", secret:"xxxxxxxxx"], 'GET')
println "it worked"如果我打印响应,就会得到“OAuth请求中使用的令牌无效”
谢谢。
发布于 2012-12-29 03:32:56
看看http://code.google.com/p/oauth-signpost/wiki/TwitterAndSignpost
我下载了OAuthTwitterExample并将commons 1.3.jar和签名核心-1.1-SNAPSHOT.jar放在我工作目录中的zip中。
对于flickr OAuth,我在oauth.groovy中使用了以下内容
import oauth.signpost.OAuth;
import oauth.signpost.OAuthConsumer;
import oauth.signpost.OAuthProvider;
import oauth.signpost.basic.DefaultOAuthConsumer;
import oauth.signpost.basic.DefaultOAuthProvider;
import oauth.signpost.signature.SignatureMethod;
def consumer = new DefaultOAuthConsumer('<API KEY>','<Signature>',
SignatureMethod.HMAC_SHA1)
def provider = new
DefaultOAuthProvider(consumer,"http://www.flickr.com/services/oauth/request_token",
"http://www.flickr.com/services/oauth/access_token",
"http://www.flickr.com/services/oauth/authorize");
String url =provider.retrieveRequestToken( OAuth.OUT_OF_BAND);
println "navigate to the following URL"
println url在工作目录中的命令行中输入以下内容
commons-codec-1.3.jar:signpost-core-1.1-SNAPSHOT.jar
groovy -cp oauth.groovy
希望这能帮上忙
https://stackoverflow.com/questions/8861167
复制相似问题