“box-dev-logo”

Box Swift SDK 生成

我们很高兴推出最新一代(目前为 Beta 版)的 Box Swift SDK Gen,旨在提升开发者体验并简化您与 Box Content Cloud 的集成。

使用此 SDK,您将可以访问:

  1. 完整 API 支持:新一代 Box SDK 为开发者提供对 Box API 生态系统的全面覆盖。 现在,您可以访问 Box 提供的所有最新功能,从而构建更复杂、功能更丰富的应用程序。
  2. 快速 API 更新:告别等待新 Box API 被整合到 SDK 中的日子。 通过我们新的自动生成开发方法,我们现在可以更快地(在几天内)将新的 Box API 添加到 SDK 中。 这意味着您可以立即在您的应用程序中利用最新的功能。
  3. 嵌入式文档:我们理解对开发者而言,轻松访问信息至关重要。 通过我们的新方法,我们已将所有对象和参数的全面文档直接包含在 SDK 的源代码中。 这意味着您不再需要在开发者门户上查找这些信息,从而节省您的时间并简化您的开发过程。
  4. 增强的便利方法:我们致力于通过引入便利方法来继续增强您的开发体验。 这些方法涵盖了各个方面,例如分块上传、分类等等。
  5. 无缝启动:新的 SDK 集成了身份验证、具有指数退避的自动重试、异常处理、请求取消和类型检查等基本功能,使您能够专注于应用程序的业务逻辑。

拥抱新一代 Box SDK,释放 Box Content Cloud 的全部潜力。

目录

安装

Swift Package Manager

Swift Package Manager 是用于管理 Swift 代码分发的工具。 它与 Swift 构建系统集成,可自动执行下载、编译和链接依赖项的过程。

要向您的 Xcode 项目添加依赖项,请单击 Xcode 项目文件上的Packages Dependencies,然后单击加号图标以添加包。 然后输入以下存储库 URL https://github.com/box/box-swift-sdk-gen.git,然后单击下一步。

或者,您可以将依赖项添加到 Package.swift 的依赖项值中。

有关详细说明,请参阅 SPM 的官方文档

Carthage

Carthage 是一个去中心化的依赖项管理器,可构建您的依赖项并为您提供二进制框架。

要添加对 BoxSdkGen 的依赖,您需要在您的 Cartfile 中添加以下行:

git "https://github.com/box/box-swift-sdk-gen.git"

然后运行

carthage bootstrap --use-xcframeworks

最后,将构建的 xcframework 从 Carthage/Build 拖到您的项目中。

有关更详细的说明,请参阅 Carthage 的官方文档

CocoaPods

CocoaPods 是一个用于 Swift 和 Objective-C Cocoa 项目的依赖项管理器。 要开始使用 CocoaPods 与 BoxSdkGen,您需要将 BoxSdkGen 依赖项添加到您的 Podfile

pod 'BoxSdkGen'

然后在您的项目目录中运行以下命令

$ pod install

现在打开您的 [project].xcworkspace 并构建。

有关更详细的说明,请参阅 Cocoapods 的官方文档

入门指南

要开始使用 SDK,请从 Box 开发者控制台中您的应用的“配置”页面获取开发者令牌。 您可以使用此令牌为您自己的 Box 帐户进行测试调用。

SDK 提供了一个 BoxDeveloperTokenAuth 类,允许您使用开发者令牌进行身份验证。 使用 BoxDeveloperTokenAuth 的实例来初始化 BoxClient 对象。 使用 BoxClient 对象,您可以访问管理器,从而允许您对 Box 帐户执行某些操作。

下面的示例演示了如何使用开发者令牌进行身份验证并打印根文件夹中所有项目的名称。

import BoxSdkGen

let auth = BoxDeveloperTokenAuth(token: "DEVELOPER_TOKEN_GOES_HERE")
let client = BoxClient(auth: auth)

let items = try await client.folders.getFolderItems(folderId: "0")
if let entries = items.entries {
    for entry in entries {
        switch entry {
        case let .fileMini(file):
            print("file \(file.name!) [\(file.id)]")
        case let .folderMini(folder):
            print("folder \(folder.name!) [\(folder.id)]")
        case let .webLinkMini(webLink):
            print("webLink \(webLink.name!) [\(webLink.id)]")
        }
    }
}

有关如何使用 SDK 调用 Box API 的用法文档可以在这里找到。

我们建议您熟悉剩余的身份验证方法上传文件下载文件

集成测试

在本地运行集成测试

创建平台应用程序

要在本地运行集成测试,您需要在 Box 开发者控制台中创建一个 Custom App,并将 Server Authentication (Client Credentials Grant) 选为身份验证方法。 创建后,您可以编辑应用程序的属性

现在选择 Authorization 并提交应用程序以供帐户管理员审核。

导出配置

要运行集成测试,您需要几个指定您的帐户和您创建的 Box 应用程序的环境变量。

  1. CLIENT_ID 环境变量设置为其在应用程序的 OAuth 2.0 Credentials 部分的 Configuration 选项卡中的对应值。
  2. CLIENT_SECRET 环境变量设置为其在应用程序的 OAuth 2.0 Credentials 部分的 Configuration 选项卡中的对应值。
  3. ENTERPRISE_ID 环境变量设置为其在应用程序的 App Info 部分的 General Settings 选项卡中的对应值。
  4. USER_ID 环境变量设置为其在应用程序的 App Info 部分的 General Settings 选项卡中的对应值。
  5. BOX_FILE_REQUEST_ID 环境变量设置为已在用户帐户中创建的文件请求的 ID,BOX_EXTERNAL_USER_EMAIL 设置为不属于任何企业的免费外部用户的电子邮件。
  6. WORKFLOW_FOLDER_ID 环境变量设置为删除触发工作流程的文件的 Relay 工作流程的 ID。 工作流程应具有手动启动功能,以便能够从 API 启动它。
  7. 将环境变量:APP_ITEM_ASSOCIATION_FILE_ID 设置为具有关联应用程序项目的文件的 ID,并将 APP_ITEM_ASSOCIATION_FOLDER_ID 设置为具有关联应用程序项目的文件夹的 ID。

运行测试

要在本地运行集成测试

  1. swift test

问题、Bug 和功能请求?

需要直接联系我们吗? 浏览问题工单! 或者,如果这不起作用,提交新的工单,我们会尽快回复您。 如果您对 Box API 有一般性问题,可以发布到 Box 开发者论坛

版权和许可

版权所有 2023 Box, Inc. 保留所有权利。

根据 Apache License, Version 2.0(“许可证”)授权;除非遵守许可证,否则您不得使用此文件。 您可以在以下位置获得许可证的副本:

https://apache.ac.cn/licenses/LICENSE-2.0

除非适用法律要求或以书面形式达成协议,否则按“原样”分发的软件不附带任何形式的明示或暗示的保证或条件。 请参阅许可证,以了解有关权限和限制的特定语言。