如何使用scribe在Grails中为twitter实现仅应用程序身份验证?

时间:2013-09-02 10:45:02

标签: java twitter oauth-2.0 grails-2.0 scribe

早些时候我正在使用Twitter API 1.0的GET搜索/推文根据Grails中的#tags获取推文

Map jsonMap = grails.converters.JSON.parse(new URL('http://search.twitter.com/search.json?q=%23' + URLEncoder.encode(tag) + '&offset=' + offset + 'result_type=mixed&lang=en&page=' + page).text)

但是由于Twitter API版本1.1的变化,上面的呼叫需要验证。

我想代表应用程序(身份验证)而不是用户身份验证来获取推文。

这可能吗?

我遇到了仅使用application-auth但无法实现它。

https://dev.twitter.com/docs/auth/application-only-auth

如何使用Grails中的scribe API实现上述。

1 个答案:

答案 0 :(得分:1)

我这样做了,它对我有用。

 OAuthService service = new ServiceBuilder().provider(TwitterApi.class).apiKey(grailsApplication.config.oauth.providers.twitter.key).apiSecret(grailsApplication.config.oauth.providers.twitter.secret).build()
            OAuthRequest request = new OAuthRequest(Verb.GET, 'https://api.twitter.com/1.1/search/tweets.json?q=%23' + URLEncoder.encode(tag) + '&count=100&result_type=mixed&lang=en');
            Token accessToken = new Token(grailsApplication.config.oauth.providers.twitter.accessToken, grailsApplication.config.oauth.providers.twitter.accessSecret)
            service.signRequest(accessToken, request);
            Response response = request.send();
            JSONElement jsonMap = grails.converters.JSON.parse(response.getBody());