2016-06-20 5 views
2

PyDrive QuickStart 스크립트를 사용하여 Google 드라이브 파일을 나열하고 있습니다.PyDrive를 사용하여 공개 Google 드라이브 URL의 파일을 관리하십시오.

코드 :

from pydrive.auth import GoogleAuth 
from pydrive.drive import GoogleDrive 

gauth = GoogleAuth() 
gauth.LocalWebserverAuth() 

drive = GoogleDrive(gauth) 

file_list = drive.ListFile({'q': "'root' in parents and trashed=false"}).GetList() 

print(file_list) 

나는 보통 내 파일을 나열 할 수 있어요,하지만 난 나열하고 (내 개인 인증 드라이브가하지 않은) 다른 공용 드라이브 URL에서 파일을 관리 할 필요가 이미 인증 내에서 요청 lib를 사용하는 것처럼 GoogleDrive 계정. 아이디어가 있나요?

답변

4
  1. 폴더 ID를 가져와야합니다. 폴더의 URL에서 ID를 찾을 수 있습니다. 예는 다음과 같습니다. https://drive.google.com/open?id=0B-schRXnDFZeX0t0RnhQVXXXXXX (id= 다음의 URL 부분).

  2. ID를 기반으로하는 폴더의 내용을 나열합니다. 당신이 file_list = ... 대체 코드를 감안할 때 : 문제가 해결되지 않으면

    file_id = '<Your folder id here.>' 
    file_list = drive.ListFile({'q': "'%s' in parents and trashed=false" % file_id}).GetList() 
    

    , 당신은 공유 폴더의 오른쪽 상단에있는 버튼을 "드라이브에 추가"를 사용하여 Google 드라이브에 원격 폴더를 추가 할 수 있습니다 브라우저에서 열 때. 폴더에있는 파일을 생성

    2.1과 같이 수행 할 수 있습니다

    file_object = drive.CreateFile({ 
          "parents": [{"kind": "drive#fileLink", 
             "id": parent_id}], 
          'title': file_name, 
          # (Only!) If the new 'file' object is going be a folder: 
          'mimeType': "application/vnd.google-apps.folder" 
         }) 
    file_object.Upload() 
    

    이 당신이 폴더에 쓰기 권한이 있는지 확인 실패합니다.

    2.2 삭제/파일 부수고하는 GitHub의에서 사용할 수있는 업데이트 된 버전으로 수행 할 수 있습니다, pip install instructionsDelete/Trash/UnTrash documentation

마지막으로, 2.1에 설명 된대로 폴더에 업로드 할 수 feature requestlisting files of a folder있다 위의 2에서 설명했다. - 위 코드가 작동하지 않는다면 저장소에 이슈/기능 요청으로 추가 할 수있다.

+0

안녕하세요, 감사합니다. 공용 폴더 아이디를 'root'에 추가하면 –

+0

공용 폴더 아이디가있는 ListFile이 작동합니다. 그러나 공용 폴더에 액세스하고 있기 때문에 OAuth를 비활성화 할 수 있습니까? – songuke

+0

멋진 아이디어 - 가능해야합니다! 다음 페이지에서 기능 요청을 요청하거나 요청을 제출할 수 있습니다. https://github.com/googledrive/PyDrive –

관련 문제