Skip to main content

文件到 Google Drive 上传器。

项目描述

# 用于 Foliant

Gupload 的文档到 Google Drive 上传器是 Foliant CLI 扩展,它用于将创建的文档上传到 Google Drive。

Gupload 将 `gupload` 命令添加到 Foliant。


## 安装

```shell
$ pip install foliantcontrib.gupload
```


## 配置

要配置 CLI 扩展,请在项目配置中添加 `gupload` 部分。由于`gupload`需要文件上传,适当的后端设置也必须在这里。

CLI 扩展有许多选项(所有字段都是必需的,但可以没有值):

```yaml
gupload:
gdrive_folder_name: Foliant upload
gdrive_folder_id:
gdoc_title:
gdoc_id:
convert_file:
com_line_auth: false
```

`gdrive_folder_name`
: 将在 Google Drive 上创建具有此名称的文件夹以上传文件。

`gdrive_folder_id`
:此字段对于将文件上传到先前创建的文件夹是必需的。

`gdoc_title`
: 上传的文件会有这个标题。如果为空,将使用真实文件名。

`gdoc_id`
: 该字段是重写以前上传的文件并保留指向它的链接所必需的。

`convert_file`
: 是否将上传的文件转换为谷歌文档格式。

`com_line_auth`
: 在某些情况下无法自动进行身份验证(例如,使用 Docker),因此您可以设置 *True* 并使用命令行身份验证程序。


## 用法

首先,您必须获取 Google Drive 身份验证文件。

1. 前往 [APIs Console](https://console.developers.google.com/cloud-resource-manager) 制作自己的项目。
2. 前往[library](https://console.developers.google.com/apis/library),搜索“Google Drive API”,选择条目,点击“启用”。
3. 从左侧菜单中选择“Credentials”,单击“Create Credentials”,选择“OAuth client ID”。
4. 现在,需要设置产品名称和同意屏幕 -> 单击“配置同意屏幕”并按照说明进行操作。完成后:
- 选择“应用程序类型”为*其他类型*。
- 输入适当的名称。
- 为“授权的 JavaScript 来源”输入 http://localhost:8080。
- 为“授权重定向 URI”输入 http://localhost:8080/。
- 点击“保存”。
5. 点击Client ID右侧的“Download JSON”,下载client_secret_<真长ID>.json。下载的文件包含您应用程序的所有身份验证信息。
6. 将文件重命名为“client_secrets.json”,并将其放在您的工作目录中 foliant.yml 附近。

现在使用所有设置字符串将 CLI 扩展添加到项目配置中。此时您没有数据可设置 *Google Drive 文件夹 ID* 和 *google doc ID*,因此请保持为空。

使用 `gupload` 命令运行 Foliant:

```shell
$ foliant gupload docx
✔ 解析配置
✔ 应用预处理器 flatten
✔ 使用 Pandoc 制作 docx
───────────────────
结果:filename.docx
─────────────────────
✔ 解析配置
您的浏览器已打开访问:

https ://accounts.google.com/o/oauth2 /auth?...

验证成功。
✔ 将“filename.docx”上传到 Google Drive
──────────────────────
结果:
文档链接:https://docs.google.com/document/d/ 1GPvNSMJ4ZutZJwhUYM1xxCKWMU5Sg/edit?usp=drivesdk
Google 驱动器文件夹 ID:1AaiWMNIYlq9639P30R3T9
Google 文档 ID:1GPvNSMJ4Z19YM1xCKWMU5Sg
```

将打开验证表单。选择要登录的帐户。

与命令行身份验证过程略有不同:

```
$ docker-compose run --rm foliant gupload docx
✔ Parsing config
✔ 应用预处理器 flatten
✔ 用 Pandoc 制作 docx
──────────────────────
结果:filename.docx
────────────── ──────
✔ 解析配置
在浏览器中进入以下链接:

https://accounts.google.com/o/oauth2/auth?...

输入验证码: 4/XgBllTXpxv8kKjsiTxLc
认证成功。
✔ 将“filename.docx”上传到 Google Drive
──────────────────────
结果:
文档链接:https://docs.google.com/document/d/ 1GPvNSMJ4ZutZJwhUYM1xxCKWMU5Sg/edit?usp=drivesdk
Google 驱动器文件夹 ID:1AaiWMNIYlq9639P30R3T9
Google 文档 ID:1GPvNSMJ4Z19YM1xCKWMU5Sg
```

将链接从终端复制到浏览器,选择要登录的帐户并将生成的代码复制回终端。

之后,文档将上传到 Google Drive 并在新的浏览器选项卡中打开。

现在您可以使用 *Google Drive 文件夹 ID* 将文件上传到同一文件夹,并使用 *google doc ID* 来重写文档(您也可以在文件夹和文件链接中使用 ID)。

### 备注

如果您设置 *google doc ID* 而没有 *Google Drive folder ID* 文件将被移动到具有相同链接的新文件夹中。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

foliantcontrib.gupload-1.1.5.tar.gz (4.9 kB 查看哈希

已上传 source