다른 스프레드시트에서 데이터를 추출하기 위해 한 스프레드시트의 권한을 제거하려면 IMPORTRANGE를 사용하세요.
P粉511985082
P粉511985082 2024-03-30 23:27:35
0
1
618

IMPORTRANGE 포함 SpreadSheet A, B, C 등 SpreadSheet 1에서 데이터를 추출하기 위한 액세스를 요청합니다(그림 1). 예:

으아아아

스프레드시트 A에서 접근 권한을 제거(권한 철회)하고 스프레드시트 1에서 데이터를 추출하고 싶습니다. (그림 2) 전자표 1에서 스프레드시트 A에 부여된 권한을 철회하려면 그림 1에 허용된 접근 권한을 철회합니다. 데이터 추출

실제로는 200개 이상의 스프레드시트가 1개(실제로는 2개)의 데이터베이스 스프레드시트에 연결되어 있기 때문에 이것은 단순한 예일 뿐입니다. 그래서 권한을 취소하고 싶습니다. 하나의 스프레드시트에 액세스할 수 있는 스프레드시트 수는 몇 번이나 제 양식에서 이 제한에 여러 번 도달했습니다

내 코드의 일부를 이해하는 데 도움이 되는 실제 스프레드시트 사진, 스크립트는 액세스를 요청하는 동일한 스프레드시트에서 실행됩니다

틀릴 수도 있지만 한때 효과가 있었던 오래된 스크립트가 있습니다

으아아아

하지만 이제 오류가 표시됩니다

TypeError: targetFile.getPermissions is not a function

그래서 제가 검색한 내용으로 수정해보았습니다

으아아아

통과했지만 작동하지 않음

이 경우 편집기가 어떻게 작동하는지 정확히 알지 못하고 검색해도 관련 질문과 해결 방법을 찾을 수 없습니다

저는 소유자이자 유일한 사용자입니다. 확실하지는 않지만 사용자가 아닌 파일과 관련된 문제입니다. 도움을 주셔서 감사합니다. 감사합니다

P粉511985082
P粉511985082

모든 응답(1)
P粉976737101

당신의 목표는 다음과 같다고 생각합니다.

  • 승인된 IMPORTRANGE 기능이 포함된 Google 스프레드시트가 있습니다.
  • 스프레드시트에서 IMPORTRANGE에 대한 여러 승인을 취소하려고 합니다.

문제 및 해결 방법:

스프레드시트 승인을 IMPORTRANGE직접 취소하는 방법을 확인해 보세요. 아쉽게도 방법을 찾을 수 없습니다. 그러나 우리는 엔드포인트를 사용할 때 인증 프로세스가 스크립트로 실행될 수 있다는 것을 이미 알고 있습니다. Ref 귀하의 경우에는 이것이 해결 방법이 될 수 있을 것 같습니다. 이 해결 방법의 흐름은 다음과 같습니다.

  1. 원본 스프레드시트를 복사하세요.
  2. 승인IMPORTRANGE, 취소하려는 스프레드시트는 제외됩니다.

원하는 특정 스프레드시트를 취소하여 Google 스프레드시트를 얻으려면 이 절차를 따르세요.

그러나 이 해결 방법에서는 원본 스프레드시트가 복사되었기 때문에 스프레드시트 ID가 원본 ID와 다릅니다. 따라서 이것이 실제 상황에서 유용할지는 잘 모르겠습니다. 그래서 저는 이 해결 방법을 제안하고 있습니다.

위 과정을 샘플 스크립트에 반영하면 다음과 같이 됩니다.

예제 스크립트:

다음 스크립트를 원본 스프레드시트의 스크립트 편집기에 복사하여 붙여넣고 spreadsheetIdsOfdeletePermission 설정한 후 스크립트를 저장하세요.

으아악
  • 이 스크립트를 실행하면 원본 스프레드시트가 복사되고 "IMPORTRANGE"에 대한 특정 승인이 취소되어 새 스프레드시트가 생성됩니다.

참고:

  • 안타깝게도 귀하의 실제 상황을 이해할 수 없습니다. 따라서 연속 요청과 관련하여 오류가 발생할 경우 Utilities.sleep 的循环中使用 UrlFetchApp.fetch 而不是 UrlFetchApp.fetchAll
  • 를 추가해야 할 수도 있습니다.

참조:
  • 애플리케이션 스크립트를 통해 importrange 기능에 대한 액세스를 허용하는 방법은 무엇입니까?
  • fetchAll(요청)
🎜
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿