저는 Python 2.7 및 service account을 사용하여 Google 드라이브의 파일을 제목을 기반으로 다른 폴더에 복사합니다. 이를 위해서는 5 개의 명령 (5!)을 실행해야합니다.Google 드라이브 API를 사용하여 파일을 특정 상위 폴더로 복사 하시겠습니까?
- 제목으로 파일 ID를 찾으십시오. 제목별로 (
files().list
) - 찾기 상위 폴더 ID 진짜 계정 상위 폴더로 (
files().insert
) - 이동로 (
files().list
) - 파일 복사 (
files().copy
) - 소유권 이전. (
parents().insert
)
이 모두 작동하지만 난 files().list
를 호출 할 필요가 없습니다 있도록 아이디의 캐싱을 의미합니다 첫 번째 호출 수를 줄이고 싶습니다. 내가하려고하는 다음 일, 특히 내가이 질문과 함께있는 곳은 files().copy
명령 내에서 부모 폴더를 설정하는 방법입니다. 설명서에는 다음과 같이 설명 된 선택형 parents
매개 변수가 있습니다.
이 파일이 들어있는 상위 폴더 모음입니다. 이 필드를 설정하면 제공된 모든 폴더에 파일이 저장됩니다. 삽입시 폴더가 제공되지 않으면 파일은 기본 루트 폴더에 저장됩니다. 이 말을하지 않지만
, 내가 뜻을 알고 부모 ID의이 다른 곳에서 사용되는 무엇 때문에. 그러나 클라이언트 라이브러리에서이 배열을 설정해도 효과가 발생하지 않습니다. 오류가 없으며 파일이 올바른 폴더에 없습니다.
newfile = {'title': newtitle, 'parents' : [ parentFolderId ]}
service.files().copy(fileId=originalId, body=newfile).execute()
아무도 행운이 없었습니까 with this? 내가 놓친 다른 것이 있습니까?
보너스 : 복사 명령에서 소유권을 이전 하시겠습니까? 아마도 내 서비스 계정이 나를 사칭 할 수 있습니까?
+1 좋은 캐치! 방금 문제가 생겨서 저장되었습니다. –
하위 폴더가 있으면 어떻게해야합니까? –