4

私はここでぐるぐる回っていて、完全に混乱しています。助けが必要です。

私は、コンセプトがシンプルなクライアント用のアプリケーションを作成しようとしています。彼は、ボタン付きの Google 書き込みドキュメントが必要です。Google ドライブ アカウントにはいくつかのフォルダーがあり、それぞれが複数のユーザーと共有されています。彼がフォルダの 1 つに新しいファイルをドロップしたとき、彼はこの書き込みファイルを開くことができるようにしたいと考えています。このファイルは彼の電子メールのテンプレートです。彼がボタンをクリックすると、システムは Google ドライブ SDK https://developers.google.com/drive/manage-changesの変更サービスを呼び出し、最後にチェックされてから追加されたファイルのリストを取得します。ファイルが共有されている人のリストを取得し、書き込みファイルをテンプレートとして使用して、ファイルの準備ができたことを知らせる電子メールをそのリストに送信します。

そう、簡単ですよね?

まず、Google App Script API の組み込み関数を調べました。このメソッドhttps://developers.google.com/apps-script/class_docslist#findを DocsList クラスで見つけました。問題は、クエリの説明に単に「クエリ文字列」と書かれていることです。最初に、Drive SDK クエリ パラメータを試してみました。

var files = DocsList.find("modifiedDate > 2012-12-20T12:00:00-08:00.");

うまくいきませんでした。そのため、コンテンツの単純な全文検索だと思います。それは十分ではありません。

そのため、App Script アプリケーション内から Drive SDK メソッドを呼び出そうとしました。よし、OLap 2 認証が必要だ。簡単です。スクリプト リファレンスでオブジェクトを見つけ、壁にぶつかりました。

クライアント ID とクライアント シークレット。

これが実際のサービス アカウントを作成すると、apps スクリプトの olap コントロールは、暗号化された json を処理してやり取りする方法を認識しません。次に、インストールされたアプリケーション キーを作成して使用しようとすると、認証エラーが発生します。これは、コントロールが再びワークフローをどう処理するかわからないためです。最後に、Web アプリ キーを作成しようとすると、サイトのホスト名またはリダイレクト URI がないため作成できません。ファイルOLap 2を使用しているため、アプリケーションキー機能を使用できません。

私はしばらく匿名のオラップを使用していましたが、コードを少し理解しようとして、1 日あたりの匿名通話の制限に達しました。 .

私はこれで5時間机の上で頭を叩いています。ここで助けが必要なのですが、道順を教えてもらえますか?

PS、はい、データベース コントロールを使用して、ファイルのリスト全体をメモリにロードし、それをデータベース内のファイルのリストと比較できることを知っています。問題は、何万ものファイルについて話していることです。悪いアイデア。

4

1 に答える 1

0

私はもうDocsListを使用しません.DriveAppはより信頼性の高い代替品になるはずです. 一部のコマンドが変更されているため、find の代わりにsearchFilesを使用してください。これはより効果的に機能するはずです(例としてあなたのようなクエリを使用することさえあります)。

于 2013-10-08T00:54:23.410 に答える