scribe oauth linkedin创建令牌

jas*_*son 2 grails scribe oauth-2.0

我正在尝试使用scribe oAuth插件(在grails环境中).我能够让用户授权我的应用并进行身份验证.然后我可以得到xml响应.不过,我的问题是如何重新查询用户个人资料而不必让他们重新授权我的应用.一旦他们第一次授权,我就会捕获他们的令牌和密钥.所以,我不应该重新查询个人资料(只要他们不撤销他们的授权.)?我能够使用旧版本的插件执行此操作.问题在于创建新令牌.我没有看到在没有验证程序和请求令牌的情况下创建授权令牌的方法(由于我的代码在他们的许可下代表他们执行查询,因此不会存在.)

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

Token accessToken = new Token()
accessToken.secret="XXX"
accessToken.token = "YYY"
Run Code Online (Sandbox Code Playgroud)

我收到初始化错误.

我无法像这样创建它,因为我没有Request令牌和验证器:

Token accessToken = service.getAccessToken(requestToken, verifier);
accessTokenSecret = accessToken.secret
accessTokenKey = accessToken.token
Run Code Online (Sandbox Code Playgroud)

如果我没有访问令牌对象,我无法签署我的请求.完整代码看起来像这样(假设它们是请求令牌和验证器)

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

    Verifier v = new Verifier(ver);

    Token accessToken = service.getAccessToken(rt, v);
    accessTokenSecret = accessToken.secret
    accessTokenKey = accessToken.token


    OAuthRequest request = new OAuthRequest(Verb.GET, apiUrl);
    service.signRequest(accessToken, request);
    Response response = request.send();
    xmlString=response.getBody();   
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助杰森

jas*_*son 6

好吧,过了一段时间,我得到了这个工作:

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

}
Run Code Online (Sandbox Code Playgroud)