2017-11-09 1 views
0

현재 Google 스프레드 시트로 외부 API에서 데이터를 가져 오는 프로젝트에서 작업하고 있습니다. 따라서 ID를 삽입 할 수있는 시트를 만들었으며 Google Script를 통해 데이터가 다른 시트에 자동으로 가져와집니다. 이 작업을 자동화하기 위해 로컬 Python에서 액세스 할 수있는 Drive-API를 만들었습니다. 또한 특정 세포를 어떻게 바꾸는 지 알아 냈습니다. 그러나 여기 투쟁이옵니다. 업데이트가 사용자 편집 변경으로 인식되지 않으므로 onChange 트리거를 통해 트리거되므로 google 스크립트의 모든 트리거가 작동하지 않습니다. 나의 현재 파이썬 코드는 다음과 같습니다Python을 통해 Google 스프레드 시트를 업데이트하고 사용자 편집으로 인식

파이썬 코드 :

import gspread 
from oauth2client.service_account 
import ServiceAccountCredentials 

scope = ['https://spreadsheets.google.com/feeds'] 
creds = ServiceAccountCredentials.from_json_keyfile_name('client_secret.json', scope) 
client = gspread.authorize(creds) 

sheet = client.open('APP_ID_X').sheet1 

data = sheet.update_cell(2,1, "10") 

먼저 트리거 가스 ​​:

function onEdit(e){ 
    if (e.source.getActiveSheet() 
     .getName() !== 'APP_ID' || e.range.columnStart != 1 || e.range.rowStart != 2) return; 
    e.range.offset(0, 1) 
     .setValue(typeof e.value == 'object' ? null : new Date()); 
    schedTrigger(); 
} 

사람이 어떻게 내 투쟁을 해결하는 아이디어가한다면 나는 감사 높은 것 !? 사전에 많은 감사

보다도, Crov 당신이 OnChange 이벤트를 해고해야하고 아마도 당신은 모든 일에 작업을 트리거 완료 할 수 귀하의 "갱신"의 마지막에 행을 삽입 할 수있는 경우

답변

0

시각.

+0

빠른 응답을 보내 주셔서 감사합니다. 나는 그 해결책을 역시 고려하고 있었지만 OnEdit Trigger는 ID 셀 옆의 셀에 시간을 설정하는 것이 필수적입니다. 따라서 onEdit 트리거를 생략 할 수는 없습니다. 다른 해결책이 있습니까? GAS Trigger도 포함 시켰습니다. 잘하면 그것이 더 명확 해집니다. –

관련 문제