2015-02-10 75 views
0

对于dropbox,我们使用一个“应用程序文件夹”来为我们的应用程序放置文档。通过身份验证时,我们只会看到该文件夹​​的文件。 Box.net有什么等价物?Box.net的应用程序文件夹

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

+0

FWIW,我们只从这个文件夹读取。 – Joel 2015-02-10 22:21:09

回答

2

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

+0

看起来很近。我实际上并不想为用户创建一个新的Box.net帐户。有没有一个Web流程来获得这个权限/文件夹的创建? – Joel 2015-02-10 22:16:10

+0

这是否意味着java api .getRootFolder会返回相应的文件夹? – Joel 2015-02-10 22:29:09

+0

“通过身份验证后,我们只能看到该文件夹​​的文件。”如果您不希望用户拥有帐户,那么您建议该文件夹应该放在哪里? – 2015-02-10 23:43:40

0

John的回答是正确的,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添加了更好的拨款支持。

+0

所以我在想以下,让我知道这是否合理。 1)将用户转发到Box的授权页面。这是为了确保他们正在选择他们已经创建的适当的Box帐户。这应该让我们访问他们的整个账户(?)和电子邮件? 2)我们在步骤1中称电子邮件的拨款条款,然后抛弃原始的 标记,并使用拨款标记令牌。这将使我们只能访问其账户中的一个文件夹,他们会让我们映射到他们期望的账户(不是一些新的错误输入的电子邮件地址账户)。 这个工作是否适当? – Joel 2015-02-11 18:20:17

+0

我做了类似上面的事情。听到事件时奇怪的是,它会在授予的应用文件夹之外发送事件。另外,我无法弄清楚如何为所有用户授予的应用程序文件夹获取事件(您似乎无法在Java中以应用程序身份进行身份验证)。 – Joel 2015-02-11 23:41:00

+0

您不应该让用户登录到他们的Box帐户。如果您为应用程序启用了拨款授权,那么您应该可以通过向用户发送电子邮件来提供文件夹(不应要求输入密码)。您获取的访问令牌将限制您仅访问该设置的文件夹。 Java SDK不支持配置授权,因此您需要自己执行授权流程。但是,一旦您手动进行了身份验证,就可以将令牌给予SDK,以便它可以为您处理令牌刷新,速率限制,JSON解析和其他操作。 – Greg 2015-02-12 00:02:49

相关问题