google-docs - 如何复制谷歌文档并共享对电子邮件的访问权限?
问题描述
google doc上有一个模板。我们想复制它并通过邮件提供访问权限。也许有人知道如何实现这一点?
解决方案
这个答案怎么样?
遗憾的是,Google Docs API 无法完成文件的复制和文件权限的修改。在这种情况下,需要使用 Drive API。实现目标的流程如下。
1. Google 文档文件的副本。
在这种情况下,使用 Drive API v3 的“文件:复制”方法。端点和示例请求正文如下。文件 ID 是模板 Google 文档文件的文件 ID。
端点:
POST https://www.googleapis.com/drive/v3/files/fileId/copy
示例请求正文:
{"name": "sample name"}
示例 curl 命令:
curl --request POST \
'https://www.googleapis.com/drive/v3/files/fileId/copy'
--header 'Authorization: Bearer [YOUR_ACCESS_TOKEN]' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data '{"name":"sample name"}' \
--compressed
- 复制文件时,返回复制文件的文件 ID。
2. 创建权限。
在这种情况下,使用 Drive API v3 的“Permissions:create”方法。端点和示例请求正文如下。文件 ID 是复制文件的文件 ID。
端点:
POST https://www.googleapis.com/drive/v3/files/fileId/permissions
示例请求正文:
{
"role": "writer",
"type": "user",
"emailAddress": "###"
}
示例 curl 命令:
curl --request POST \
'https://www.googleapis.com/drive/v3/files/fileId/permissions' \
--header 'Authorization: Bearer [YOUR_ACCESS_TOKEN]' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data '{"role":"writer","type":"user","emailAddress":"###"}' \
--compressed
- 在这种情况下,电子邮件地址的用户
###
具有文件作者的权限。
笔记:
- 在上述流程中,需要访问令牌。不幸的是,API 密钥不能用于这种情况。请注意这一点。
- 如果您想使用 API 修改复制的 Google 文档,请使用 Google Docs API。
参考:
推荐阅读
- c# - 更新凭证文件时,AmazonSQSClient 不刷新 AWSCredentials
- javascript - vue.js 中的库哈希导入不起作用
- sql-server - SQL - 字符串操作
- python - readlines() 在 CSV 文件上使用时不起作用
- nginx - 无法使用 kubernete nginx 入口控制器创建路由规则
- apache-spark - Spark 中的 Join 和 withColumn 异常
- java - 如何使用 Raster 读取 WritableImage 的每个像素?
- c# - 如何在 C# 中通过 socks 代理连接到服务器?
- ios - 如何在 Mac / iOS 上制作 cordova 以停止在 config.xml 和 package.json 的插件版本号中添加插入符号 (^)
- c++ - 是否可以调用 std::invoke 使其可以与函数指针一起使用?