来自groovy脚本的grails oauth
我正在尝试运行一个调用Linkedin API的groovy脚本。问题是,如何在groovy脚本中使用grails oauth插件进行身份验证? 这是我的配置:来自groovy脚本的grails oauth,grails,groovy,oauth,linkedin,run-script,Grails,Groovy,Oauth,Linkedin,Run Script,我正在尝试运行一个调用Linkedin API的groovy脚本。问题是,如何在groovy脚本中使用grails oauth插件进行身份验证? 这是我的配置: oauth { linkedin { requestTokenUrl="https://api.linkedin.com/uas/oauth/requestToken" accessTokenUrl="https://api.linkedin.com/uas/oauth/accessToken"
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 run script scriptname.groovy”开头:
如果我打印响应,我会得到“OAuth请求中使用的令牌无效”
谢谢。看看
我下载了OAuthTwitterExample,并将包含在zip中的commons-codec-1.3.jar和signpost-core-1.1-SNAPSHOT.jar放在我的工作目录中
对于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
导入oauth.signpost.oauth;
导入oauth.signpost.OAuthConsumer;
导入oauth.signpost.OAuthProvider;
导入oauth.signpost.basic.DefaultOAuthConsumer;
导入oauth.signpost.basic.DefaultOAuthProvider;
导入oauth.signpost.signature.SignatureMethod;
def consumer=新的DefaultOAuthConsumer(“”,
签名方法(HMAC_SHA1)
def提供程序=新建
DefaultOAuthProvider(使用者)http://www.flickr.com/services/oauth/request_token",
"http://www.flickr.com/services/oauth/access_token",
"http://www.flickr.com/services/oauth/authorize");
字符串url=provider.retrieveRequestToken(OAuth.OUT\u OF_BAND);
println“导航到以下URL”
println url
在工作目录的命令行中输入此命令
groovy-cp commons-codec-1.3.jar:signpost-core-1.1-SNAPSHOT.jar 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
希望这有帮助