【问题标题】:Application Folder for Box.netBox.net 的应用程序文件夹
【发布时间】:2015-02-10 20:57:57
【问题描述】:

对于保管箱,我们使用“应用程序文件夹”来放置应用程序的文档。经过身份验证后,我们只能看到该文件夹​​的文件。 Box.net 的等价物是什么?

查看 (Java) API,似乎唯一的选择是查看驱动器上的所有文件。

【问题讨论】:

  • FWIW,我们只从这个文件夹中读取。

标签: box-api


【解决方案1】:

查看Provision Grant workflow。给定一个电子邮件地址,Box 将向用户的帐户添加一个沙盒应用程序文件夹,并根据需要创建帐户。

【讨论】:

  • 看起来很接近。不过,我实际上并不想为用户创建一个新的 Box.net 帐户。是否有网络流程来获得此权限/文件夹创建?
  • 这是否意味着 java api .getRootFolder 会返回相应的文件夹?
  • "经过身份验证后,我们只能看到该文件夹​​的文件。"如果您不希望用户拥有帐户,您建议该文件夹应该放在哪里?
  • 将答案标记为正确,因为它看起来是正确的方法,但似乎还有很多关于它如何真正起作用的细节。
【解决方案2】:

约翰的回答是正确的,Provision Grant 是这样做的方法。至于 Java SDK,遗憾的是它还不支持配置身份验证工作流程(这是我们希望添加的功能)。

但是,如果您能够手动进行配置身份验证,则可以将访问/刷新令牌交给 SDK,然后正常使用。

BoxAPIConnection api = new BoxAPIConnection("clientID", "clientSecret",
    "accessToken", "refreshToken");

// You can also set the expiration time if you want the SDK to auto-
// refresh your access token for you.
api.setExpires(expires); 

// Your application's folder will be returned after you authenticate
// with provision grant.
String appFolderID = "id";

BoxFolder appFolder = new BoxFolder(api, appFolderID);
for (BoxItem.Info itemInfo : appFolder) {
    // Do something with the items in your app's folder.
}

抱歉,这不是很直观。我创建了 an issue 来为 SDK 添加更好的配置授权支持。

【讨论】:

  • 所以我的想法如下,让我知道这是否有意义。 1) 将用户转发到 Box 的授权页面。这是为了确保他们选择他们已经创建的适当的 Box 帐户。这应该让我们可以访问他们的整个 Box 帐户(?)和电子邮件? 2)我们在步骤 1 中调用电子邮件的授权条款,然后折腾原始令牌,并使用授权条款令牌。这将使我们只能访问他们帐户上的一个文件夹,并且他们会将我们映射到他们期望的帐户(而不是一些新的错误输入的电子邮件地址帐户)。这会正常工作吗?
  • 我做了类似你上面的事情。奇怪的是,在侦听事件时,它会在授予的应用程序文件夹之外发送事件。此外,我不知道如何为所有用户授予的应用程序文件夹获取事件(您似乎无法在 Java 中作为应用程序进行身份验证)。
  • 您不需要让用户登录他们的 Box 帐户。如果您为您的应用程序启用了配置授权,那么您应该能够通过向用户询问他们的电子邮件来配置文件夹(不需要密码)。您取回的访问令牌将限制您仅访问该预配文件夹。 Java SDK 尚不支持配置身份验证,因此您需要自己执行身份验证流程。但是,一旦您进行了手动身份验证,您就可以将令牌提供给 SDK,以便它可以为您处理令牌刷新、速率限制、JSON 解析和其他事情。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-28
  • 2014-06-28
  • 1970-01-01
  • 2011-04-13
  • 2011-11-17
相关资源
最近更新 更多