Logo

用户信息

学习如何使用 Dropbox API 获取用户信息,例如账户详情和存储空间使用情况。

概念

用户信息

学习如何使用 Dropbox API 获取用户信息,例如账户详情和存储空间使用情况。

在本节课中,我们将探讨 users 命名空间中的一些重要接口。这些接口需要启用 account_info.read 权限。在本课中,我们将与以下接口进行交互:

  • get_current_account
  • get_space_usage

注意: 在上一节课中,生成访问令牌后,我们已授予 account_info.read 权限。

获取当前账户信息

users 命名空间提供了以下接口:
/users/get_current_account。
我们可以使用此接口通过访问令牌获取用户信息。该接口需要 Bearer 认证,定义在 HTTP 请求的头部。它使用 HTTP 的 POST 请求,不接受任何参数。

下面通过代码来展示该接口的功能:

1// 在此处定义导入的库 2import fetch from 'node-fetch'; 3 4// 在此处定义 API 密钥 5const token = '{{TOKEN}}'; 6 7// 在此处定义接口 URL 8const endpointUrl = new URL('https://api.dropboxapi.com/2/users/get_current_account'); 9 10// 在此处定义请求头参数 11const headerParameters = { 12 authorization: `Bearer ${token}`, 13 contentType: 'application/json', 14}; 15 16// 设置 API 调用选项 17const options = { 18 method: 'POST', 19 headers: headerParameters, 20}; 21 22// 定义发起 API 调用的函数 23async function fetchAccount() { 24 try { 25 const response = await fetch(endpointUrl, options); 26 27 // 自定义函数:打印 API 响应 28 printResponse(response); 29 } catch (error) { 30 // 自定义函数:打印错误信息 31 printError(error); 32 } 33} 34 35// 调用函数以发起 API 调用 36fetchAccount();

上述代码中,我们执行了以下操作:

  • 第 2 行: 从 node-fetch 导入 fetch 库,用于在代码中发起网络请求。
  • 第 5 行: 获取用于身份验证的 TOKEN 值。
  • 第 8 行: 定义请求的 URL。
  • 第 11–14 行: 定义 fetch 请求的 headers。包含认证信息和内容类型,通常为 application/json。
  • 第 17–20 行: 设置 API 调用的选项。
  • 第 23–33 行: 创建一个用于发起 API 调用的函数。尝试获取响应,并将响应传递给自定义函数 printResponse;若出错,则捕获异常并传递给自定义函数 printError。
  • 第 36 行: 调用 fetchAccount 函数以发起 API 请求。

响应字段

以下是响应中一些重要字段的说明:

字段格式说明
account_id字符串与访问令牌关联的 Dropbox 账户唯一标识 ID。
name对象用户姓名的详细信息。
email字符串用户的电子邮件地址。
email_verified布尔值表示用户的电子邮件地址是否已验证。
profile_photo_url字符串用户头像的 URL(如果已上传)。

获取存储空间使用详情

接口 /users/get_space_usage 不接收任何参数,返回用户被分配的存储空间总量以及实际使用的空间状态。

下面通过代码了解用户存储空间使用情况的更多信息:

1// 在此处定义导入的库 2import fetch from 'node-fetch'; 3 4// 在此处定义 API 密钥 5const token = '{{TOKEN}}'; 6 7// 在此处定义接口 URL 8const endpointUrl = new URL('https://api.dropboxapi.com/2/users/get_space_usage'); 9 10// 在此处定义请求头参数 11const headerParameters = { 12 authorization: `Bearer ${token}`, 13 contentType: 'application/json', 14}; 15 16// 设置 API 调用选项 17const options = { 18 method: 'POST', 19 headers: headerParameters, 20}; 21 22// 定义发起 API 调用的函数 23async function fetchStorage() { 24 try { 25 const response = await fetch(endpointUrl, options); 26 27 // 自定义函数:打印 API 响应 28 printResponse(response); 29 } catch (error) { 30 // 自定义函数:打印错误信息 31 printError(error); 32 } 33} 34 35// 调用函数以发起 API 调用 36fetchStorage();

上述代码中,我们执行了以下操作:

  • 第 2 行: 从 node-fetch 导入 fetch 库,用于发起网络请求。
  • 第 5 行: 获取用于身份验证的 TOKEN 值。
  • 第 8 行: 定义请求的 URL。
  • 第 11–14 行: 定义 fetch 请求的 headers。包含认证信息和内容类型,通常为 application/json。
  • 第 17–20 行: 设置 API 调用的选项。
  • 第 23–33 行: 创建一个用于发起 API 调用的函数。尝试获取响应,并将响应传递给自定义函数 printResponse;若出错,则捕获异常并传递给自定义函数 printError。
  • 第 36 行: 调用 fetchStorage 函数以发起 API 请求。

响应字段

以下是空间使用查询返回的各个响应字段说明:

字段格式说明
usedUInt64用户已使用的总存储空间(以字节为单位)。
allocation对象用户被分配的总存储空间配额。存储配额分为两种类型:个人和团队(在本例中为个人)。

Dropbox API 简介

文件请求与文件目录管理