# @buttercup/googledrive-client 中文文档

规范地址：https://npmcn.com/package/%40buttercup/googledrive-client/

版本：2\.3\.0
npm 元数据更新时间：2023-11-11T05:43:36.139Z
中文译文更新时间：2026-11-08T22:05:43.479Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40buttercup/googledrive-client
原文对照：https://npmcn.com/package/%40buttercup/googledrive-client/?lang=original
项目主页：https://github.com/buttercup/googledrive-client#readme
源码仓库：https://github.com/buttercup/googledrive-client

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：22.6 kB，27 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- Node.js 要求：\>=16
- 运行依赖：6 个
- 首次发布：2019-02-21T19:20:48.843Z
- 最新版本发布：2023-11-11T05:43:35.881Z
- 近 30 天下载量：2047（2026-10-09 至 2026-11-07，npm 官方下载统计）
- 已发布版本数：31（近 12 个月 0 个）

## 中文简介

Google 驱动程序的基本客户端

## 安装

```sh
npm install @buttercup/googledrive-client
```

也可以使用：`pnpm add @buttercup/googledrive-client`、`yarn add @buttercup/googledrive-client`、`bun add @buttercup/googledrive-client`

## README

# 谷歌驱动客户端

> 提供 Google Drive 基本请求的客户端

![build status](https://github.com/buttercup/googledrive-client/actions/workflows/test.yml/badge.svg) [![npm version](https://badge.fury.io/js/%40buttercup%2Fgoogledrive-client.svg)](https://www.npmjs.com/package/@buttercup/googledrive-client)

## 关于

这个库允许执行针对Google的RESTful Drive API的基本行动. 它支持 **正在获取目录内容**, (中文(简体) ), **读取** 文档和 **写作** 文档。 请注意, 文件读取和写入目前仅得到文本文件的支持 。 用这个 `fetch` (单位:千美元)[横切](https://github.com/lquixada/cross-fetch))执行请求,这显然将在可复制的跨环境快活中发挥作用.

## 使用量

通过运行下列程序安装客户端:

```shell
npm install @buttercup/googledrive-client
```

_最新版本(v2)要求 [无害环境管理](https://nodejs.org/api/esm.html) 要运行的环境 。 标准CommonJS项目无法使用._

库输出一个工厂, 用于创建客户端适配器 。 工厂取了谷歌驱动 OAuth 标志.

```typescript
import { GoogleDriveClient } from "@buttercup/googledrive-client";

const client = new GoogleDriveClient(myToken);

client.getDirectoryContents(/* tree: */ true /* (default) */).then(tree => {
    // ...
})

// Or return a flat structure with all files and directories:
client.getDirectoryContents();
```

### 过期或无效的证书

此库使用 [`Layerr`](https://github.com/perry-mitchell/layerr) 来传递额外的错误信息,例如当认证失败时,发出请求。 这使得下游的图书馆更容易处理这种授权失败,也许可以通过请求新的代号.

如果出现错误, 请使用 `Layerr` (a) 如果出现授权失败,从中提取信息进行测试:

```typescript
client.getDirectoryContents().catch(err => {
    const { authFailure = false } = Layerr.info(err);
    // handle authFailure === true
});
```

### 使用路径获取目录内容

此库支持使用路径获取目录内容, 用于更传统的字段 。 这个方法是 **未建议** 用于所有用途的个案,因为它不支持同级项目 _同名词_. . 认为它是实验.

```typescript
import { GoogleDriveClient } from "@buttercup/googledrive-client";

const client = new GoogleDriveClient(myToken);

client.mapDirectoryContents("/").then(arrayOfFiles => {
    // ...
})
```

**编号 :** 如果(并且只有在)父母无法解决的情况下,物品被放入根中。 他们可能在结果中指定了父身份——如果可以找到一个父身份文件,它就在该子目录中,而如果找不到父身份则在根中.

## 常见问题

### @buttercup/googledrive-client 是什么？

Google 驱动程序的基本客户端

### 如何安装 @buttercup/googledrive-client？

在项目目录运行 npm install @buttercup/googledrive-client，或使用 pnpm add / yarn add / bun add。

### @buttercup/googledrive-client 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @buttercup/googledrive-client 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### @buttercup/googledrive-client 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js \>=16。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### @buttercup/googledrive-client 可以商用吗？

@buttercup/googledrive-client 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @buttercup/googledrive-client 的下载量有多少？

根据 npm 官方下载统计，@buttercup/googledrive-client 在 2026/10/09 – 2026/11/07 这 30 天内被下载 2,047 次，日均约 68 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @buttercup/googledrive-client 还在维护吗？

最新版本 2\.3\.0 发布于 2023/11/11（2 年前）；至今共发布 31 个版本，其中过去 12 个月发布了 0 个；首次发布于 2019/02/22。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

