2016-09-05 5 views
0

問題があり、解決策が見つかりませんでした。Google Script - 最終変更日がスクリプトで変更されました

私が必要なもの: スプレッドシートの変更がスクリプトによって修正された場合は、スプレッドシートの最終変更日を変更します。

何が問題なのですか: 最後に変更された日付は、ファイルを物理的に開いて変更した場合にのみ変更されます。ただし、スクリプトによって自動的に変更が行われた場合は、最後に変更された日付は変更されません。

背景: データソースとして外部モバイルアプリにリンクされているGoogleスプレッドシートがあります。問題は、最後に変更された日付が変更された場合にのみ、外部アプリがデータを同期させることです。私はそれを変更することはできませんので、外部アプリを使用する準備が整いました。今、私のGoogleスプレッドシートは5分ごとに別のスプレッドシートからスクリプトで更新されますが、新しいデータがファイルに追加されても、ファイルの最終更新日は変更されません(このデータを手動で追加すると明らかに変更されます)。

一時的なタブを追加して削除したり、ファイル名を変更するなど、さまざまなオプションをテストしましたが、手動で行った場合は日付の変更はありません。

私はLinuxの 'touch'コマンドに似たものを探していましたが、これは日付を変更しますが、Googleスクリプトで同様のものを実装する方法を見つけることができませんでした。

おかげで、

+0

すべてGoogle App Scriptを使用してスプレッドシートが変更されると、スクリプトが実行されている権限を持つユーザーの変更日が登録されます。 ** File>リビジョン履歴を見る**で変更の履歴を見ることができます。 「スプレッドシートの最終更新日」はどうやって取得していますか? – ocordova

+0

Googleドライブに表示される最終更新日をこのファイルと照合しているだけです。これが外部アプリがチェックしているものです。改訂履歴から最新の日付を表示するように強制できますか? – Piotr

答えて

0

ドライブのAPIがtouch方法がありますが、それはenabled before useでなければなりませんあなたがAdvanced Drive Serviceを(使用する必要があります。スクリプトエディタでリソース>高度なGoogleサービス ...]を選択し、その後にそれを有効にGoogleのデベロッパーコンソール

は、一度、あなたがこのようにそれを使用することができます有効:

function touch() { 
    var fileid = 'YOUR_FILE_ID'; 
    Drive.Files.touch(fileid); 
} 
+0

ありがとう!これはまさに私が探していたものです。ありがとうございました。 – Piotr

関連する問題