Grails 抄写oauth linkedin创建令牌

Grails 抄写oauth linkedin创建令牌,grails,oauth-2.0,scribe,Grails,Oauth 2.0,Scribe,我正在尝试使用scribe oAuth插件(在grails环境中)。我可以让用户授权我的应用程序并进行身份验证。然后我可以得到xml响应。不过,我的问题是,我如何重新查询用户配置文件,而不必让他们重新授权我的应用程序。一旦他们第一次授权,我就捕获他们的令牌和密钥。那么,我是否应该能够重新查询配置文件(只要他们不撤销授权)?我可以用老版本的插件做到这一点。问题在于创建新令牌。在没有验证器和请求令牌的情况下,我看不到创建授权令牌的方法(这将不存在,因为我的代码是在他们的许可下代表他们执行查询的) 如

我正在尝试使用scribe oAuth插件(在grails环境中)。我可以让用户授权我的应用程序并进行身份验证。然后我可以得到xml响应。不过,我的问题是,我如何重新查询用户配置文件,而不必让他们重新授权我的应用程序。一旦他们第一次授权,我就捕获他们的令牌和密钥。那么,我是否应该能够重新查询配置文件(只要他们不撤销授权)?我可以用老版本的插件做到这一点。问题在于创建新令牌。在没有验证器和请求令牌的情况下,我看不到创建授权令牌的方法(这将不存在,因为我的代码是在他们的许可下代表他们执行查询的)

如果我尝试像这样创建令牌:

Token accessToken = new Token()
accessToken.secret="XXX"
accessToken.token = "YYY"
我得到一个初始化错误

我不能这样创建它,因为我没有请求令牌和验证程序:

Token accessToken = service.getAccessToken(requestToken, verifier);
accessTokenSecret = accessToken.secret
accessTokenKey = accessToken.token
如果我没有访问令牌对象,我将无法签署我的请求。完整代码如下所示(假设它们是请求令牌和验证器)

谢谢你的帮助
杰森

好吧,过了一段时间,我让这个开始工作:

  public getProfileWithTokens(getAccessToken, getAccessTokenSecret){

    Token newAccessToken = new Token(getAccessToken, getAccessTokenSecret);

    String xmlString =""

    OAuthService service=new ServiceBuilder()
    .provider(LinkedInApi.class)
    .apiKey(apiKey)
    .apiSecret(apiSecret)
    .build();   

    OAuthRequest request = new OAuthRequest(Verb.GET, apiUrl);
    service.signRequest(newAccessToken, request);
    Response response = request.send();
    xmlString=response.getBody();           

}

通过调用
服务.getRequestToken
获取requestToken。然后,您可以在适当的url上将其交换给验证器。请阅读OAuth文档,您至少需要知道实现此功能的基本知识。这是我使用的文档:但没有看到任何关于我所要求的内容的参考。记录在哪里?
  public getProfileWithTokens(getAccessToken, getAccessTokenSecret){

    Token newAccessToken = new Token(getAccessToken, getAccessTokenSecret);

    String xmlString =""

    OAuthService service=new ServiceBuilder()
    .provider(LinkedInApi.class)
    .apiKey(apiKey)
    .apiSecret(apiSecret)
    .build();   

    OAuthRequest request = new OAuthRequest(Verb.GET, apiUrl);
    service.signRequest(newAccessToken, request);
    Response response = request.send();
    xmlString=response.getBody();           

}