Я пытаюсь создать функцию, которая принимает имя каталога в качестве параметра и возвращает идентификатор каталога. Конечная цель - перечислить файлы в указанном каталоге, используя возвращенный идентификатор файла, однако я не могу понять синтаксис для передачи имени каталога в качестве переменной.
Я могу только сделать что-то из следующего, где мне нужно явно ввести имя каталога. Обратите внимание, что я использую v3 API-интерфейса Google Drive.
def get_folder_id():
folder_ID = ""
while True:
response = drive_service.files().list(
q = "name='folder1'", fields = "nextPageToken, files(id,name)").execute()
files = response.get('files', [])
for item in files:
print ("Found file: %s, %s" % (item['name'], item['id']))
folder_ID = item['id']
page_token = response.get('nextPageToken', None)
if page_token == None:
break
return folder_ID
Как я могу передать имя папки в качестве параметра и по-прежнему включать его в запрос q?
Я пробовал такие варианты, как:
response = drive_service.files().list(
q='"name = "' + "'" + f_name + "'" + '"', fields = "nextPageToken, files(id,name)").execute()
При попытке включить одинарные кавычки вокруг запроса, но это тоже не работает






Если я правильно понимаю, как насчет использования следующего поискового запроса? Пожалуйста, измените следующим образом.
q='"name = "' + "'" + f_name + "'" + '"'
q = "name='" + f_name + "' and mimeType='application/vnd.google-apps.folder' and trashed=false"
mimeType='application/vnd.google-apps.folder' означает папку.trashed=false означает файлы за пределами корзины.По приведенному выше поисковому запросу извлекаются папки с именем папки f_name.
Если я неправильно понял ваш вопрос, и это не тот результат, который вы хотите, приношу свои извинения.
@pqrs Добро пожаловать. Спасибо, что дали мне знать. Я рад, что ваша проблема была решена. Если ваш вопрос был решен, пожалуйста, нажмите кнопку «Принять». Другие люди, у которых есть та же проблема, что и вы, также могут основывать ваш вопрос на вопросе, который можно решить. Если вы не найдете кнопку, не стесняйтесь сказать мне. stackoverflow.com/help/accepted-answer
@pqrs Прошу прощения за неудобства. Вы можете увидеть, как принять ваш ответ, на странице https://meta.stackexchange.com/a/65088.
Не уверен, что вы уже получили ответ на свой вопрос. Однако, если вы хотите передать имя переменной как часть запроса в запросе GoogleDrive, добавьте к имени переменной знак + до и после него. year_id = "Бла-бла" Пример: - q="родители в '"+year_id+"'
Удачного кодирования!!!
оберните код в ``` ```, чтобы его было легче читать. И я думаю, что вы написали ошибку, а также с кавычками
Это был не совсем вопрос, однако вы ответили на вопрос внутри, спасибо. Проблема, с которой я столкнулся, заключалась в том, что я не мог получить правильную комбинацию кавычек, чтобы передать имя в качестве переменной. Спасибо!