Google云端硬盘API:以原子方式创建一个文件夹(按名称)(如果不存在)

时间:2019-01-10 15:35:28

标签: google-drive-api google-drive-realtime-api atomicity

StackOverflow的预参考文章:

你好 我正在寻找一种在Google云端硬盘上执行原子操作的方法。例如,如果名称不存在,则创建一个文件夹。到目前为止,我已经发现并阅读了之前的StackOver提交内容,但还没有找到一种原子方法。

查找文件夹是否存在:

curl "https://www.googleapis.com/drive/v3/files" \
  --request GET \
  --verbose -G \
  --data-urlencode "'[** PARENT ID **]' in parents and name = '[** FOLDER_NAME **]' and mimeType = 'application/vnd.google-apps.folder' and trashed=false" \
  --header "authorization: Bearer [** ACCESS TOKEN **]" \
  --header "cache-control: no-cache"

如果上述方法返回的结果为空,则创建一个具有所请求名称的文件夹,该文件夹基本上与POST而不是GET相同:

curl "https://www.googleapis.com/drive/v3/files" \
  --request POST \
  --verbose -G \
  --data-urlencode "name = ''[** PARENT ID **]' in parents and [** FOLDER_NAME **]' and mimeType = 'application/vnd.google-apps.folder'" \
  --header "authorization: Bearer [** ACCESS TOKEN **]" \
  --header "cache-control: no-cache"

但是,如果同时发生多个创建文件夹请求,为避免出现竞争状况。

建议? 谢谢您的协助

0 个答案:

没有答案