2017-11-09 10 views
0

私は現在、外部APIからデータをGoogleシートに取得するプロジェクトで作業しています。したがって、私はIDを挿入することができるシートを作成し、データは別のシート上のGoogle Scriptを介して自動的にフェッチされます。この作業を自動化するために、ローカルのPythonでアクセスできるDrive-APIを作成しました。さらに、私は特定の細胞をどのように変えるかを考え出しました。 しかし、ここでは闘争が起こります。ユーザー編集の変更として更新が認識されないため、Googleスクリプトのすべてのトリガーは、onChangeトリガーによってトリガーされるため、機能しません。 私の現在のPythonのコードは次のようになります。Python経由でGoogleシートを更新し、ユーザー編集として認識

Pythonのコード:ガス中の

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

答えて

0

あなたのすべて1つのアクションをトリガーonChangeイベントを起動する必要があり、その後、おそらくあなたが完了することができ、あなたの「更新」の末尾に行を挿入することができれば時間。

+0

速い応答に感謝します。解決策も検討していましたが、onEditトリガーはIDセルの横のセルに時間を設定することが必須です。したがって、onEditトリガーを省略することはできません。あなたはそれに対して別の解決策を持っていますか?私はGAS Triggerも含めました。うまくいけばそれはもっと明確になります。 –

関連する問題