OPの質問に答える
A)コードが希望どおりに機能しているかどうかを確認できるように、印刷に関してGoogle Apps Scriptコンソールがどのように機能するかについて理解できないことは何ですか?
Google Apps Scriptプロジェクトの.gsファイルのコードは、ウェブブラウザではなくサーバーで実行されます。メッセージをログに記録する方法は、クラスロガーを使用することでした。
B)コードに問題がありますか?
エラーメッセージが言ったように、問題はconsole
定義されていないことでしたが、最近は同じコードが他のエラーをスローします:
ReferenceError:「playerArray」が定義されていません。(12行目、ファイル「コード」)
これは、playerArrayがローカル変数として定義されているためです。関数の外に行を移動すると、これが解決されます。
var playerArray = [];
function addplayerstoArray(numplayers) {
for (i=0; i<numplayers; i++) {
playerArray.push(i);
}
}
addplayerstoArray(7);
console.log(playerArray[3])
エラーをスローせずにコードが実行されるようになったので、代わりにブラウザコンソールを確認するために、StackdriverLoggingを確認する必要があります。Google Apps ScriptエディターのUIから、[表示]> [Stackdriverログ]をクリックします。
補遺
2017年、GoogleはすべてのスクリプトにStackdriver Loggingをリリースし、クラスコンソールを追加したため、のようなものを含めてもconsole.log('Hello world!')
エラーはスローされませんが、ログはブラウザコンソールではなくGoogle Cloud Platform Stackdriver LoggingServiceに記録されます。
Google Appsのスクリプトリリースノート2017
2017年6月23日
StackdriverLoggingは早期アクセスから移動されました。すべてのスクリプトがStackdriverログにアクセスできるようになりました。
ロギングから> Stackdriverロギング
次の例は、コンソールサービスを使用してStackdriverに情報を記録する方法を示しています。
function measuringExecutionTime() {
console.info('Timing the %s function (%d arguments)', 'myFunction', 1);
var parameters = {
isValid: true,
content: 'some string',
timestamp: new Date()
};
console.log({message: 'Function Input', initialData: parameters});
var label = 'myFunction() time';
console.time(label);
try {
myFunction(parameters);
} catch (e) {
console.error('myFunction() yielded an error: ' + e);
}
console.timeEnd(label);
}