-2

我的问题是我们有一个桌面应用程序(即不是基于 Web 的),它需要与盒子 API 通信,据我所知,我可以告诉 OAuth 哪个盒子用于授权,这很难让这种情况发挥作用。

有没有人有一些示例 C# 代码来展示它是如何完成的。

4

2 回答 2

0

这就是我如何做到这一点

  1. 使用 WebBrowser 控件创建表单
  2. 使用该表单,导航到 TokenProvider 上的“GetAuthorizationUrl”方法提供的 URL。由于我需要提供重定向 URL,因此我使用了与我们公司相关的网站。该网站实际上不会“处理”此重定向请求,但这没关系。
  3. 输入我的盒子用户 ID/密码并允许访问后,浏览器控件将重定向到指定的 URL。嵌入在该 URL 中的是临时访问令牌。我在 WebBrowser 上有一个“文档完成”事件,所以我查看了 URL 是否包含字符串“code=”。
  4. 解析 URL 以获取临时代码,然后我使用 TokenProvider 返回 OAuthToken。
  5. 从 OAuthToken 我可以使用 [box-csharp-sdk-v2] 创建一个处理所有 Box API 调用的 BoxManager 对象。

老实说,它有点笨拙,但似乎有效。

于 2013-04-19T15:25:27.760 回答
0

使用 Box API For Windows U 可以使用 JWT 身份验证,它基于 ClientId、Client Secret、Private key、Public Key 和 Enterprise key 生成令牌。

此令牌将提供在用户基本有两种类型的用户 1.Admin 2.App 用户

所以不需要登录参考文档: https ://box-content.readme.io/docs/app-auth

Box Windows SDK https://github.com/box/box-windows-sdk-v2

于 2016-04-06T06:25:07.323 回答