从JSON文件在Google驱动器上生成文件的工具
drive-files-gen的Python项目详细描述
驱动文件生成器
从JSON文件在googledrive上生成文件夹和文档的工具。在
JSON文件树
JSON文件描述了要在googledrive上创建的文件树。在
一个例子可以帮助你理解它的结构。在
{"my-drive":{"docs":["My Google Docs"],"sheets":3,"folders":{"ZORRO":{"forms":1,"sites":["Google Site #1","Google Site #2"],"folders":{"my last folder":{}}}}}}
- 在
outter对象必须有一个条目。键是要在其中创建文件树的文件夹的ID 或者使用特殊值
在my-drive
,如果您希望它成为驱动器的根目录。共享驱动器ID也可以传递。在 - 在
在文件夹中,可以指定要创建的不同Google驱动器元素。来自 列表,或特殊的“文件夹”条目(如果要创建子文件夹)。在
在 - 在
文件夹由其名称(=JSON key)标识。根元素是
在my-drive
或现有的 谷歌硬盘ID - 在
要指定要创建哪些Google文档、工作表、站点(等等),您可以告诉您想要创建多少个 他们将有一个名称的时间戳(
在"docs": 3
将创建3个Google文档-目前不可能用于文件夹) 或者您可以指定一个名称列表("docs": ["one", "two", "three"]
)。在 - 在
如果您想创建一个空文件夹,只需添加一个带有空dict的条目(
在"my last folder": {}
)
谷歌硬盘文件类型
以下是您可以创建的文件类型。左侧是您放入JSON文件中的内容, 右边是googledrive中对应的mime类型。在
^{pr2}$证书
目前,该脚本没有打包,也没有作为应用程序发布。所以你必须创建自己的GCP Oauth
已安装应用程序(this procedure)的客户端ID。
下载JSON文件并将其传递到命令行。在
脚本将请求在googledrive中写入的许可。范围授权过程完成后,它
如果(且仅当)您已使用文件传递--store-creds
,则将您的刷新令牌+访问令牌保存到文件中
命令行的路径。
否则每次跑步都会征求你的同意。在
运行脚本
usage: drive_files_gen.py [-h] [--store-creds STORE_CREDS] client_id_file json_file
Generate Google Drive folders and documents from a JSON file.
positional arguments:
client_id_file the client id JSON file, downloaded from GCP
json_file the Drive file tree, in JSON format
optional arguments:
-h, --help show this help message and exit
--store-creds STORE_CREDS
if you want to store your creds (refresh + access token) on your filesystem, give it a file path
测试脚本
我用pytest
做了一些单元测试。它需要同时具有JSON Oauth客户机文件和
一个有效的JSON凭据文件(带有刷新令牌+访问令牌)。
您将在test_main.py
中看到我引用了一个test_config
包,这是我存储JSON文件路径的地方。在
要测试它,只需运行pytest
- 项目
标签: