来自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"

我正在尝试运行一个调用Linkedin API的groovy脚本。问题是,如何在groovy脚本中使用grails oauth插件进行身份验证? 这是我的配置:

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
希望这有帮助