0

在尝试为我们的 box.com 应用程序设置 webhook 时,我注意到没有传递授权码的选项。否则,我们端的代码将无法从 box.com 获取文件的更新内容。

简化的工作流程是:

  • 用户为其 box.com 帐户中的文件选择“更多操作”,然后单击“发送到 XYZ”。
  • 这会弹出一个窗口,将用户发送到我们的 web 应用程序,向我们传递文件 ID 和授权码。
  • 我们的 webapp 使用授权码下载文件并将其存储在我们端,使用 box.com 文件 id 标记资源以供将来参考。
  • 用户在 box.com 中选择“上传新版本”并上传新文件。
  • Webhook 触发并向我们的 webapp 发出一个 GET 请求,传入文件 id。
  • 我们的 webapp 通过 id 查找下载的文件,然后尝试下载新版本。我们需要一个授权码来做到这一点。(原来的授权码早就过期了。)
4

1 回答 1

0

最终,我们的解决方案是使用在初始使用传入 auth_code 期间获得的 OAuth2 刷新令牌。这个刷新令牌(根据 box.com 文档)应该持续大约 60 天左右。所以我们创建了一个后台作业来查找过期的刷新令牌并更新它们。根本不是一个理想的解决方案(在代码中也很尴尬),但它似乎是最好的选择。

于 2014-08-06T17:38:35.707 回答