3

是否可以使用 OAuth2 获得永久访问令牌?我想在安装过程中使用 Box 下载文件。安装会抓取特定文件夹中的所有文件。我有一个盒子帐户设置为文件夹的所有者,在 API v1 中,我可以获得一个永久的 auth_token 以在我的可执行文件中重用。但似乎使用 OAuth2 我只能获得 1 小时的访问令牌和刷新令牌。但由于最终用户实际上没有访问 Box,而且该应用程序是桌面应用程序,因此如果令牌已过期,他们将无法即时进行身份验证。我知道还有其他解决方案,但是 V1 api 让我可以做到这一点,我希望在 V1 被弃用时不会失去这个功能。

4

2 回答 2

1

Box 的 OAuth2 实现不会生成永久令牌。但是,就像在 V1 API 中一样,您可以为您上传的文件创建一个可供非 Box 用户访问的链接。您必须在 UI 中将共享访问权限设置为“打开”,或者通过 API 设置 json。

文档中有一个部分解释了如何做到这一点。您基本上将一个 PUT 传递给 /files/ 端点,其中包含一个小的 JSON 主体,如下所示:

{"shared_link": {"access": "open"}}

您将返回一个 json 文件正文,其中包含完整的 shared_link 部分。像这样的东西:

"shared_link": {
    "url": "https://www.box.com/s/rh935iit6ewrmw0unyul",
    "download_url": "https://www.box.com/shared/static/rh935iit6ewrmw0unyul.jpeg",
    "vanity_url": null,
    "is_password_enabled": false,
    "unshared_at": null,
    "download_count": 0,
    "preview_count": 0,
    "access": "open",
    "permissions": {
        "can_download": true,
        "can_preview": true
    }
于 2013-01-04T15:16:39.663 回答
1

您可以使用刷新令牌来获取一个持续一小时的新访问令牌和一个新的刷新令牌。

因此,您的桌面应用程序可能需要安全地连接到 Internet才能读/写

  • 访问令牌
  • 访问令牌到期日期
  • 刷新令牌
  • 刷新令牌到期日期**

**每个刷新令牌的有效期仅为 14 天。希望 Box 删除过期功能。

或者,按照原始建议将您的文件放在可公开访问的位置。

于 2013-01-05T10:35:07.610 回答