0

Google Apps Script でリソース ファイルの ScriptDb をクエリしようとすると問題が発生します。スクリプト ファイル (file1) を作成し、それをリソースとして別のスクリプト ファイル (file2) に追加します。file2 から file1 を呼び出して、その ScriptDb へのハンドルを返します。これはうまくいきます。次に、ScriptDb にクエリを実行しようとしましたが、権限エラーが返されました。

同じユーザーが所有し、同じ Google 環境にある両方のファイル

以下のコードを参照してください。

ファイル 1:

function getMyDb() {  
    return ScriptDb.getMyDb;  
} 

ファイル 2 (ファイル 1 を参照):

function getDataFromFile1() {  
    var db = file1.getMyDb(); // This works  
    var result = db.query({..............}); // This results in a permissions error!  
}

file1 にアクセスして ScriptDb のハンドルを取得できるのに、アクセス許可の問題によりクエリを実行できない理由を理解できません。

file1 に再認証を強制しようとしましたが、まだ成功していません。新しい機能を追加して実行してみました。

前もってありがとうクリス

4

2 に答える 2

0

There appears to be an error in file1/line2. It says "return ScriptDb.getMyDb;" but it should say "return ScriptDb.getMyDb();"

If you leave out the ()s then when you call file1 as a library, file1.getMyDb() will return a function which you store in var db. Then the line var result = db.query({..............}) results in an error because there is no method "query" in the function.

Is that what's causing your error?

于 2013-06-14T07:58:59.223 に答える