方框交互应用程序

图书馆(“盒子”)

与Box API交互,即使用盒子,需要两件事:

  1. 必须设置一个Box-app。如果某个组织管理您的Box帐户,则此类应用程序可能已经存在。
  2. 您必须向Box-app进行身份验证。

你可以把Box应用程序想象成一扇门盒子功能访问框。有两种不同类型的应用程序,在应用程序概述-签名.

本文的重点是交互式应用程序,它是为交互式使用而设计的(不足为奇)。您使用本地计算机上的“OAuth Dance”验证此应用程序。然后,您可以使用盒子具有Box用户帐户的权限。

如何使用本文取决于您的Box设置。我们涵盖以下情况:

  1. 你的Box组织中有人已经创建了一个交互式应用程序。这意味着已经为您提供了两个对应于客户端id客户端机密.

    如果是这样,您只需要部分以用户为中心。

  2. 您需要创建Box交互式应用程序,如创建节.

    如果您的Box帐户由某个组织控制,例如您在工作中使用Box,则Box应用程序可能由您的Box-admin团队控制。如果是这样的话,你可以把这篇文章作为创建或批准应用程序请求的一部分。

使用交互式应用程序

要对使用交互式应用程序进行首次身份验证,您必须使用本地计算机,例如笔记本电脑。

如果你想使用盒子在远程计算机上,例如通过浏览器使用远程计算机上的RStudio Server,首先使用本地计算机进行身份验证,然后咨询下一节.

使用提供的值客户端id和a客户端机密:

#提供您自己的“yourclient_id”和“yourcient_secret”
盒子验证(_A)(客户端id= “您的客户端id”,客户端机密= “您的客户端机密”)

此时,您可能会被要求参加“OAuth舞蹈”;浏览器窗口可能会打开一个Box页面,询问您是否可以进行身份验证。说“是”。一切正常,在R控制台窗口中,您将收到如下响应:

正在浏览器中等待身份验证。。。按Esc/Ctrl+C中止身份验证完成。boxr:使用OAuth2作为Ian Lyttle进行身份验证(ijlyttle@ians-email.com)您可能希望将添加到您的`中。Renviron`文件:BOX_CLIENT_ID=您的客户端IDBOX_CLIENT_SECRET=您的客户端机密[复制到剪贴板]编辑您的`。Renviron`文件:-`使用此::edit_r_environ()`-检查一下`。Renviron以换行结束

在剩余的R会话中,您将通过Box的身份验证。

为了方便后续R会话,您可以按照响应中的建议将此信息添加为R环境变量:

  1. 打开您的Renviron公司文件;你可以使用使用此::edit_r_environ().

  2. 粘贴复制到剪贴板的行,确保Renviron公司以空行结束。

  3. 保存Renviron公司,重新启动R。

现在,你可以跑了box_auth()没有争论,它应该只是工作.

#重新启动R
图书馆(“盒子”)
盒子验证(_A)()
从环境中使用`BOX_CLIENT_ID`从环境中使用`BOX_CLIENT_SECRET`boxr:使用OAuth2作为Ian Lyttle进行身份验证(ijlyttle@ians-email.com)

将令牌传输到RStudio Server

由于“OAuth Dance”要求您使用本地计算机,因此当您使用远程计算机时,例如,如果您使用的是RStudio Server或RStudio-Cloud,这可能会导致一些困难。有几种方法可以解决这个问题:

  1. 在本地计算机上完成“OAuth Dance”,然后使用RStudio Server上传令牌。
  2. 使用服务器应用程序,如中所述这篇文章,然后使用RStudio Server上传令牌。

在本节中,我们将查看第一个选项。

一如既往,牢记安全。假设您使用的是RStudio Server,它运行在您(或您的机构)具有管理控制权的计算机上。这与使用RStudio Cloud时的安全注意事项不同,在这种情况下,您和您的机构(除非您为RStudio工作)都没有对机器的管理控制权。请记住.boxr-auth文件文件允许其持有者拥有与其所代表的用户几乎相同的Box权限。

在开始传输过程之前,请确保本地计算机(生成令牌的位置)和远程计算机上的R安装具有相同版本的httr包(问我是怎么发现的)。

然后:

  1. 通过运行以下命令在本地计算机上验证令牌box_auth().
  2. 使用本地计算机启动RStudio Server(或Cloud)。
  3. 在RStudio Server(或Cloud)会话中,在文件夹窗格(参见下图):
    • 转到主目录:点击...在右边缘,然后指定~用于主目录。
    • 点击上传按钮,并指定.boxr oauth公司从本地计算机(您需要能够查看“隐藏的”文件)。
  4. 在RStudio Server(或Cloud)会话中,编辑您的Renviron公司文件以添加环境变量邮箱_客户IDBOX_CLIENT_SECRET箱-使用中的值Renviron公司本地计算机上的文件。您可以找到该函数使用此::edit_r_environ()是有用的。

如果你正在使用RStudio Cloud,上传是非常重要的.boxr-oauth文件到您的目录,该目录名义上对您的帐户是私有的,而不是项目目录,该目录可以被共享。

一次.boxr-oauth文件已上载,并且您已重新启动R会话,您应该能够运行boxr::box_auth()在远程计算机上,它应该只是工作,就像在本地计算机上一样。

创建交互式应用程序

请记住,要创建或激活Box应用程序,您可能需要获得Box-admin团队的批准。如果您有个人邮箱帐户,是你的拳击管理团队。

本材料是OAuth 2.0应用程序的方框文档.

在浏览器中登录您的帐户后,从Box开发人员控制台.

创建应用程序

点击按钮创建新应用程序,它将引导您通过四个屏幕创建新应用程序:

  1. 选择自定义应用程序,单击下一步.
  2. 选择标准OAuth 2.0(用户身份验证),单击下一步.
  3. 为你的应用程序选择一个唯一的名称(可以是任何名称),单击下一步.
  4. 成功!点击查看您的应用程序.

设置OAuth2参数

查看你的应用程序会带你去Box开发人员控制台.

你会在配置默认情况下的子菜单:

  1. 向下滚动至OAuth 2.0重定向URI.
  2. 设置重定向URIhttp://localhost(本地主机).
  3. 保存更改.

你可以在这里找到客户端id客户端机密.

此时,您有足够的信息可供使用box_auth().