2017-09-28 3 views
0

드라이브 API 버전 3 (Python)을 사용하여 Google 드라이브에 액세스하려고합니다. 파일을 나열하면 정상적으로 작동하는 것 같습니다. 파일 업로드를 시도 할 때 사용 권한 오류가 충분하지 않습니다.권한 오류 오류 403 : Google 드라이브 업로드 (Python)

:

내가 내 스크립트 아래

SCOPES = 'https://www.googleapis.com/auth/drive' 

에 전체 권한을 부여 내 범위를 변경 내가

file_metadata = { 
    'name': 'Contents.pdf', 
    'mimeType': 'application/vnd.google-apps.file' 
} 
media = MediaFileUpload('Contents.pdf', 
         mimetype='application/vnd.google-apps.file', 
         resumable=True) 
file = service.files().create(body=file_metadata, 
            media_body=media, 
            fields='id').execute() 
print ('File ID: %s' % file.get('id')) 

내가이 오류 메시지를받을 파일을 만드는 데 사용하는 블록이다 ResumableUploadError : HttpError 403 "불충분 한 권한"

나는 아닙니다 여기서 무엇이 잘못 되었는 지 확인하십시오.

답변

1

스크립트가 정상적으로 작동한다고 생각합니다. 표시된 오류에서 액세스 토큰과 새로 고침 토큰을 다시 인증해야한다고 생각했습니다. 그러므로 다음 흐름을 시도하십시오.

client_secret.json을 사용하여 권한을 부여하면 자격 증명 JSON 파일이 만들어집니다. 기본 빠른 시작에서는 홈 디렉토리의 .credentials에 생성됩니다.

현 상황에서는 client_secret.json이 아닌 현재 자격증 명 JSON 파일을 삭제하고 스크립트를 실행하여 다시 인증하십시오. 빠른 시작의 기본 파일 이름은 drive-python-quickstart.json입니다.

이렇게하면 https://www.googleapis.com/auth/drive의 범위가 액세스 토큰 및 새로 고침 토큰에 반영되어 업로드 프로세스에 사용됩니다. 이 흐름이 완료 되더라도 오류가 발생하면 API 콘솔에서 드라이브 API가 사용 설정되었는지 다시 확인하십시오.

유용하지 않은 경우, 죄송합니다.

+0

이 옵션을 사용해 보았습니다. 이것은 작동하는 것 같습니다. 이유는 처음에 다른 범위로 만든 quickstart.json 파일을 만들 때입니다. 범위를 변경했을 때 파일에서 업데이트되지 않았습니다. 파일을 삭제하고 다시 만들 때 업로드가 완료되었습니다. –

+0

@Subu Ganesh 나는 이것이 잘 작동한다는 소식을 듣고 안심했습니다. – Tanaike

0

이미 같은 이름의 파일이 있습니까?

+0

아니요, 이것은 신규 파일입니다. 파일 대신 폴더를 만들려고했습니다. 같은 오류가 발생합니다. 목록 파일은 문제없이 작동합니다. 나는 어디에서나 허락을받지 못했다고 확신하지 못한다. –

+0

이 예를 따르십시오. https://developers.google.com/drive/v3/web/manage-uploads – ChaosPredictor