質問: 初心者です グーグルスプレッドシートの内容を 外部のHTMLへ読み込むことは出来るのでしょうか? (例 スプレッドシートのA1をHTMLのPタグの中に入れる) GASのHTMLに読み込むと言った資料を見つけることはできたのですが 外部のHTMLから読み込みというものが見つからず質問させていただいています 可能であればご教授いただけますと幸いです よろしくお願いいたします
回答: Googleスプレッドシートの内容を直接外部のHTMLに設定することはできません。 ですが、以下の方法で実現は可能です。(設定などは適時変更してください) 1. GAS(Google Apps Script)を使用してスプレッドシートの内容を返すAPIを作成。 2. APIを公開 * GASのメニュー → 公開 → ウェブアプリケーションとして導入 → アプリケーションにアクセスできるユーザを「全員(匿名ユーザを含む)」更新 * ↑URLをコピー 3. HTML上のJavaScriptから1で作成したAPIを呼び出す。 実際のコードは以下のような形になります。 GAS ``` var SHEET_NAME = "シート1"; function getValue() { var ss = SpreadsheetApp.openById(SpreadsheetApp.getActiveSpreadsheet().getId()); var sheet = ss.getSheetByName(SHEET_NAME); return sheet.getRange("A1").getValue(); } function doGet(e) { return ContentService.createTextOutput(getValue()).setMimeType(ContentService.MimeType.TEXT); } ``` JavaScript ``` # ↑の手順でコピーしたURL const url = "https://script.google.com/macros/s/xxxxxxxxxxx/exec" fetch(url , { method: "GET", }).then(response => response.text()) .then(text => { // 取得した値をコンソールに出力 console.log(text); // HTML上の必要な箇所に値を設定します。 const targetID = "hoge"; document.getElementById(targetID).innerText = text; }); ``` JavaSciprtでなくてもサーバ側でAPIを叩いても可能ですし、 そもそもサーバ側で処理するのであれば、GASを使わずGoogleAPIを直接使用して直接スプレッドシートを読みに行く方法もあるかと思います。 (詳しくないですがJavaだとgoogle-api-java-clientというライブラリが使用できそうです。)