有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

Dropbox API Java处理令牌过期

我使用的是Dropbox API for java,我有一个令牌过期的问题

首先,像其他人一样获得代币:

  String authorizeUrl = webAuth.start();
  System.out.println("1. Go to: " + authorizeUrl);
  System.out.println("2. Click \"Allow\" (you might have to log in first)");
  System.out.println("3. Copy the authorization code.");
  String code = new BufferedReader(new InputStreamReader(System.in)).readLine().trim();

我替换代码以获取令牌:

   DbxAuthFinish authFinish = webAuth.finish(REPLACE_CODE);
   String accessToken = authFinish.accessToken;

到目前为止,一切正常,但过了一段时间,当我再次尝试时,砰!:

HTTP Error 401 Unauthorized : Token Expired.

我阅读文档并在所有网络中搜索,得到的唯一答案是:令牌从未过期

那么,我做错了什么?有没有办法自动重新授权

谢谢


共 (1) 个答案

  1. # 1 楼答案

    看起来您试图重用授权代码(您传递给webAuth.finish的东西),而不是访问令牌(您从authFinish.accessToken获得的东西)。我希望你第二次尝试时失败,因为这些代码只能使用一次

    不过,访问令牌本身实际上并没有过期。也就是说,用户当然可以撤销你的应用程序的许可,所以你应该考虑接收401的可能性,如在核心API文档中所描述的:https://www.dropbox.com/developers/core/docs。p>