grails scribe对于twitter的仅应用程序验证

问题描述:

我不是再次写同样的问题,但需要解决方案。其中有人质疑如何在grails中为Twitter申请唯一身份验证。下面grails scribe对于twitter的仅应用程序验证

是链接在同一

How to implement application-only authentication for twitter in Grails using scribe?

Twitter application authentication to get user timelines for single user account

任何帮助将非常钦佩。

谢谢

你需要做这样的事情,这是为我工作。

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()); 
+0

怎么样由Twitter显示在这里实现应用程序仅-auth的步骤[链接](https://dev.twitter.com/docs/ AUTH /应用程序仅-AUTH)。你能否提供一个例子来更详细地理解你的解决方案? – Jordon

你可以简单地做到这一点:

import org.codehaus.groovy.grails.web.context.ServletContextHolder as SCH 

... 

def requestResourceForTwitter(Token token, String url) {  
    String appAttribute = GrailsApplicationAttributes.APPLICATION_CONTEXT 
    Object appContext = SCH.servletContext.getAttribute(appAttribute) 
    def oauthService = appContext.oauthService 
    Response response = oauthService.getTwitterResource(token, url) 
    if(response.code == 200){ 
     return JSON.parse(response.body) 
    } 
} 
+0

Twitter上显示的步骤是如何实现application-only-auth链接的。你能否提供一个例子来更详细地理解你的解决方案? – Jordon