2012-01-14 3 views
0

Я пытаюсь запустить отличный скрипт, который вызывает API Linkedin. Вопрос в том, как я могу аутентифицироваться с помощью плагина Grails oauth из встроенного скрипта? Это мой конфиг:grails oauth from groovy script

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 недействительно "

Спасибо.

ответ

0

Посмотрите на http://code.google.com/p/oauth-signpost/wiki/TwitterAndSignpost

Я скачал OAuthTwitterExample и поставить Викисклад кодек-1.3.jar и Signpost-ядро-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 

ввести это в командной строке в рабочем каталоге

заводной -cp Обще-кодек-1.3.jar: указательный столб-ядро-1,1-SNAPSHOT.jar oauth.groovy

надеюсь, что это помогает