gpt4 book ai didi

upload - 以编程方式将文件上传到 Box.com 的最佳方式

转载 作者:行者123 更新时间:2023-12-04 11:33:27 24 4
gpt4 key购买 nike

我已经阅读了整个 Box.com 开发人员 api 指南,并在网上花了几个小时研究这个特定问题,但我似乎无法找到明确的答案,如果我失败了,我也不想开始创建解决方案错误的路径。我们有一个生产环境,一旦我们处理完文件,我们的生产软件系统就会将它们压缩并保存到本地服务器目录中以供存档。此本地路径无法更改。我的问题是如何以编程方式将这些文件上传到我们的 Box.com 帐户,以便我们可以将这些文件存档到云端?我读过的关于此的所有内容都涉及使用 OAuth2 来访问我们的帐户,我理解,但它也需要用户登录。由于这是一个不向外部用户公开的内部流程,因此我希望能够实现自动化,否则对我们来说是不可行的。我在创建每次保存新文件时触发的程序都没有问题,我所需要的只是简化 Box.com 的访问。

最佳答案

我刚刚经历了完全相同的一组问题,发现目前您无法绕过 OAuth 过程。但是,他们的刷新 token 现在有效期为 60 天,这应该会使任何自定义设置更加坚固。不过,我仍然认为,必须将 OAuth 用于企业设置是一个非常脆弱的实现——正如您所说的确切原因:某些中间件应用程序必须依赖 OAuth 身份验证过程是不可行的。

我的解决方案:

这是我想出的。以下是各种 box API 文档和视频中概述的相同步骤:

  • 使用此 URL https://www.box.com/api/oauth2/authorize?response_type=code&client_id=[YOUR_CLIENT_ID]&state=[box-generated_state_security_token]
    (去https://developers.box.com/oauth/找原件)
  • 将该 URL 粘贴到浏览器并转到
  • 验证并授予访问权限
  • 获取结果 URL:http://0.0.0.0/?state=[box-generated_state_security_token]&code=[SOME_CODE]
    并注意“代码=”值。
  • 打开 POSTMAN 或 Fiddler(或其他一些 HTTP 嗅探器)并输入以下内容:
  • 网址:https://www.box.com/api/oauth2/token
  • 创建 URL 编码的帖子数据:
  • grant_type=authorization_code
  • client_id=[您的客户 ID]
  • client_secret=[您的客户 secret ]
  • code= < 输入第 4 步中的代码 >
  • 发送请求并检索结果 JSON 数据:
    {"access_token": "[YOUR SHINY NEW ACCESS TOKEN]","expires_in": 4255,"restricted_to": [],"refresh_token": "[YOUR HELPFUL REFRESH TOKEN]","token_type": "bearer"}
  • In my application I save both auth token and refresh token in a format where I can easily go and replace them if something goes awry down the road. Then, I check my authentication each time I call into the API. If I get an authorization exception back I refresh my token programmatically, which you can do! Using the BoxApi.V2 .NET SDK this happens like so:

    var authenticator = new TokenProvider(_clientId, _clientSecret);
    // calling the 'RefreshAccessToken' method in the SDK
    var newAuthToken = authenticator.RefreshAccessToken([YOUR EXISTING REFRESH TOKEN]);
    // write the new token back to my data store.
    Save(newAuthToken);

    希望这有帮助!

    关于upload - 以编程方式将文件上传到 Box.com 的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20252226/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com