PHP スクリプトからコーディングしてトリガーする方法がわからないため、Google Apps Script を使用できないと思います
できますよ。サービス リクエストを受信して処理できる Google Apps Script を使用して Web サービスを作成できます。パラメーターを Web サービスに渡すのは簡単です。これは、たとえば cURL を使用して行うことができます。
次の例は、2 つの列を持つ単純なスプレッドシートです。次の方法でさらに行を追加できます。
curl -L <SCRIPT URL>?col1='Value for column 1'&col2='Another value'
またはブラウザの URL:
https://<SCRIPT URL>?col1='Value for column 1'&col2='Another value'
このサンプル スプレッドシートはこちらで公開されています。行を追加するために使用できる URL の例を以下に示します。
https://script.google.com/macros/s/AKfycbzVDFmOeaQc4mDZhWCnwf0CUnX64YNhhnKIlTYhqtpBraINUf9e/exec?col1='Value for column 1'&col2='Another value'
指示
これがステップバイステップです。
- Google スプレッドシートを開き、スプレッドシートが完全にアクセス可能 (公開) であることを確認します
- ツール --> スクリプト エディタ
- 以下のコードをコピーしてエディターに貼り付けます
- をシートの ID に置き換え
--spreadsheet-id--
ます (これは簡単に見つけることができます)
- ファイル --> 保存
- 公開 --> Web アプリとして展開 --> バージョン = NEW ; 必要に応じてアクセスを設定する
- 承認 (クレデンシャルの入力を求められます) --> DEPLOY
- これで、スクリプトへの URL が取得されます
- URL に追加
?col1='Colum1Data'&col2='Colum2Data'
するか、必要に応じて編集して、URL からスプレッドシートにデータをプッシュします
- 終わり
(vr00nさん、ありがとうございます。)
Code.gs
これは、スタンドアロンまたはコンテナーにバインドされたスクリプトの可能性があります。Web アプリはスプレッドシート コンテキスト内で実行されないため、どちらの方法でも、スプレッドシートの ID を指定する必要があります。HTML を表示するのではなく、ContentService を使用して単純なテキストを提供します。アプリケーションに適した方法で詳しく説明できます。
function doGet(e) {
Logger.log( JSON.stringify(e) ); // view parameters
var result = 'Ok'; // assume success
if (e.parameter == undefined) {
result = 'No Parameters';
}
else {
var id = '--spreadsheet-id--'; // Spreadsheet id
var sheet = SpreadsheetApp.openById(id).getActiveSheet();
var newRow = sheet.getLastRow() + 1;
var rowData = [];
for (var param in e.parameter) {
Logger.log('In for loop, param='+param);
var value = stripQuotes(e.parameter[param]);
//Logger.log(param + ':' + e.parameter[param]);
switch (param) {
case 'col1':
rowData[0] = value;
break;
case 'col2':
rowData[1] = value;
break;
default:
result = "unsupported parameter";
}
}
Logger.log(JSON.stringify(rowData));
// Write new row to spreadsheet
var newRange = sheet.getRange(newRow, 1, 1, rowData.length);
newRange.setValues([rowData]);
}
// Return result of operation
return ContentService.createTextOutput(result);
}
/**
* Remove leading and trailing single or double quotes
*/
function stripQuotes( value ) {
return value.replace(/^["']|['"]$/g, "");
}
Google のコンテンツ サービスのドキュメント、特にリダイレクトに関する注意事項と機密情報をよくお読みください。