2017-02-22 1 views
9

수백 개의 통합 문서가있는 Google 드라이브 폴더가 있습니다. 목록을 검토하고 데이터를 업데이트하려고합니다. 어떤 이유로 gspread는 특정 통합 문서 만 열 수 있지만 다른 프로그램은 열 수 없습니다. 나는 최근에야이 문제가 생겼다.특정 통합 문서의 gspread "SpreadsheetNotFound"

모든 항목이 같은 폴더에 있으므로 액세스 문제가 아닙니다.

open_by_key(key) 일 때 raise SpreadsheetNotFound이 나옵니다. 그런 다음 키를 가져와 URL에 붙여 넣으면 시트가 열립니다. 열쇠가 아니라는 뜻입니다.

여기 무슨 일 이니? 다른 사람들이이 오류가 발생하지 않는 것에 놀랐습니다.

내가 가질 수있는 Google 시트 수에 제한이 있습니까? 나는 약 2 천명이있다.

업데이트 : 통합 문서에 들어가서 주위를 찌를 경우 시트가 인식됩니다. 이것은 무엇을 의미 하는가? 시트가 최근에 활성 상태가 아니면 시트를 인식하지 못합니다 ???

Google 앱 스크립트 SpreadsheetApp.openById을 사용해도 키가 인식됩니다. 시트가 거기에 있습니다. 나는 단지 gspread으로 열 수 없습니다. gspread으로 인식되기 전에 Google 스크립트를 사용하여 먼저 시트에 내용을 작성했습니다.

pygsheets을 사용하여 시트를 열 수 있지만 새 것이므로 너무 버그가있어서 사용할 수 없습니다. APIv4 문제가있는 것 같습니다. 일부 시트는 APIv3으로 열 수 없습니까?

업데이트 : 여기 또 다른 관찰이 있습니다. APIv4로 통합 문서를 열면 더 이상 V3로 열지 못합니다.

+0

폴더의 개별 통합 문서가 Google 서비스 계정 클라이언트와 공유되지 않았을 수 있습니까? –

+0

@ Haleemur Ali. 전체 폴더가 클라이언트와 공유되지 않습니다. – jason

+0

그냥 아이디어 :'open_by_key' 대신'open_by_url'을 시도해 보셨습니까? –

답변

2

내 생각 엔 당신이 1000하고 높은 값으로 변경할 수 없습니다 "사용자 당 100 초당 쿼리"Google Drive API 제한을 타격 할 수 있다는 것이다.

해결 방법 1 :

당신은 당신에게 프로젝트 페이지 이동하여 더 높은 할당량 적용하려고 할 수

:
1 - 대시 보드
2 - 할당량
3 - 클릭 연필 후 "사용자 당 100 초당 쿼리"
,451,515,4 - https://support.google.com/code/contact/drive_quota에-종료까지를 당신은 것입니다,하지만 당신은 위의 단계를 수행하면, 형태는 이미 가득 projectuser 세부 사항이있을 것이다 - 그리고
5 "높은 할당량 신청"을 클릭합니다.json으로 키 파일을 열면 (projectname-ca997255dada.json -

1 :


해결 방법 2 :

가 내 계정에서 스프레드 시트의 단지 몇 동일한 문제를 가지고 문제가 해결되었다)
2-client_email의 값, 즉 찾기 :

"client_email": "[email protected]", 

3 - 이메일

참고하여 시트 (들)을 공유 : 당신은 단지 하나의 스프레드 시트를 변경하려고 할 수 있습니다 당신이 열 수 없습니다와 위의 문제가 해결되었는지 확인합니다.

+0

나는 그것이 옳다고 생각하지 않습니다. 왜냐하면 아침에 가장 먼저 일어나서 한 장만 열어보기 위해 간단한 코드를 실행하려고하기 때문입니다. 기본적으로 오늘의 첫 번째 요청은 ... 여전히 작동하지 않습니다. – jason

+0

Firewal 또는 AV 간섭을 고려 했습니까? –

+0

그래, 그게 문제가 아니야. – jason

1

이 문제가 반복적으로 발생했습니다. 내가 찾은 유일한 일관된 해결책은 파일을 api 사용자와 "다시 공유"하는 것입니다. 그것은 이미 api 사용자를 공유 파일로 나열합니다 (다른 모든 파일과 동일한 공유 폴더에 있기 때문에). 그러나 "재 공유"후에 gspread와 아무 문제없이 연결할 수 있습니다.

나는 API를 통해 액세스 할 때 API 사용자에게 올바른 권한을 등록하지 못해 실제로 권한 문제 일 수 있다고 생각합니다.

2

gspread에 제한을 두는 것처럼 들립니다.

키로 스프레드 시트를 열어도 gspreadhttps://spreadsheets.google.com/feeds/spreadsheets/private/full을 사용하여 명시 적으로 공유 된 모든 시트의 피드를 먼저 다운로드하고 제공 한 키가 그 중 하나인지 확인합니다.

이 피드는 500 개의 파일 만 나열하는 것이 문제입니다. 키가이 500 개가 아닌 경우 스프레드 시트에 액세스 할 수있는 경우에도 SpreadsheetNotFound이 표시됩니다.

피드가 가장 최근에 사용한 것으로 추측됩니다. 왜 편집하면 피드가 gspread에 다시 표시되는지 설명합니다.

해당 문제는 here입니다.

관련 문제