Предварительные ссылки на статьи StackOverflow:
Hello
Я ищу способ совершать атомарные действия на 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"
Однако, чтобы избежать условий гонки, если несколько запросов на создание папки выполняются одновременно.
Предложения?
Спасибо за любую помощь