处理刷新和访问令牌Oauth2 Box Api

时间:2013-12-05 05:46:56

标签: android box-api

我正在尝试使用Box API for android sdk v2。我可以在第一次进行身份验证后成功访问这些文件。我可以使用相同的访问令牌来做到这一点,但一小时后它会得到timedout。我不知道如何使用该刷新令牌并从box api获取新令牌。以下是我用来创建BoxAndroidOAuthData对象的Map。

     Map<String, Object> authMap = new HashMap<String, Object>();
        authMap.put("access_token", sp.getString(ACCESSTOKEN, null));
        authMap.put("expires_in", 3600);
        authMap.put("restricted_to", "[]");
        authMap.put("token_type", "bearer");
        authMap.put("refresh_token", sp.getString(REFRESHTOKEN, null));

这是BoxAndroidOAuthData对象的构建。

    BoxAndroidOAuthData oauth = new BoxAndroidOAuthData(getOAuthData());
       BoxAndroidClient client = new BoxAndroidClient(
       TestBoxnetApplication.CLIENT_ID,TestBoxnetApplication.CLIENT_SECRET, null, null);
       client.authenticate(oauth);

我甚至保留了oAuthRefreshListener,但我从来没有记录任何内容。

   client.addOAuthRefreshListener(new OAuthRefreshListener() {
       @Override
       public void onRefresh(IAuthData newAuthData) {
           System.out.println("new authentication token:"+ newAuthData.getAccessToken());
           saveOAuthData(newAuthData.getAccessToken(),newAuthData.getRefreshToken());
       }
   });

我不知道如何使用RefreshToken并获取新的accessstoken并保存它以进一步使用它。请帮忙。

由于

1 个答案:

答案 0 :(得分:0)

你确定你的刷新监听器方法被成功调用了吗?

如果是,则AndréRestivo在save and use auth data in box android API建议的方法应该有效,我面临的当前问题是我的刷新侦听器方法永远不会被调用。我会很快解决的。