0

LinkedinAPIを呼び出す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"
    }     
}   

これは私のスクリプトで、「grailsrun-scriptscriptname.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リクエストで使用されたトークンが無効です」というメッセージが表示されます。

ありがとう。

4

1 に答える 1

0

http://code.google.com/p/oauth-signpost/wiki/TwitterAndSignpostをご覧ください。

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

作業ディレクトリのコマンドラインでこれを入力します

groovy -cp commons-codec-1.3.jar:signpost-core-1.1-SNAPSHOT.jar oauth.groovy

お役に立てれば

于 2012-12-29T03:32:56.900 に答える