ブログ内検索

micro:bitページ
とにかく速いブログサイトを目指す

カテゴリー : クラウドサービス

クラウドサービスのカスタマイズ
SOY CMSマニュアルページ作成中

SOY CMSの開発秘話を投稿しました。→SOY CMSの開発秘話
 

SOY CMS / SOY ShopでライブラリをCDN経由にする設定を追加しました

/** Geminiが自動生成した概要 **/
SOY CMS/Shopの管理画面で利用するjQueryやBootstrapをCDN経由で読み込む設定が追加されました。これにより、管理画面で読み込むファイル数を減らし、サーバー負荷を軽減します。設定方法は、`/CMSインストールディレクトリ/common/config/user.config.php`を作成し、`define("SOYCMS_READ_LIBRARY_VIA_CDN", true);`を有効にするだけです。リンク色の変更など、一部表示に影響が出る可能性がありますが、順次修正予定です。最新のパッケージはサイト(saitodev.co/soycms/)からダウンロードできます。

 

SOY ShopのSign In With Googleプラグインでボタンをカスタマイズする

/** Geminiが自動生成した概要 **/
SOY ShopのSign In With Googleプラグインのボタンカスタマイズ方法について解説。Googleが提供するジェネレータを使用し、クライアントID、Data Context、ID token nonce、Callback functionを設定。Nextボタンをクリック後、Enable Sign in with Google buttonをチェックし、ボタンデザインを設定後、Get codeボタンを押下。生成されたHTMLをプラグイン詳細画面に貼り付けて更新することでカスタマイズ完了。

 

SOY ShopのGoogle Sign-In for WebsitesプラグインをSign In With Googleに変更しました

/** Geminiが自動生成した概要 **/
SOY ShopのGoogleログインプラグインが、Google Sign-In for WebsitesからSign In With Googleにアップデートされました。変更に伴い、HTMLタグやスクリプトを修正する必要があります。 以前は`googleUser.getBasicProfile()`でユーザー情報が取得できていましたが、現在はJWTが返却されるため、Base64デコードが必要です。`parseJwt`関数でJWTをデコードし、`json.email`でメールアドレスを取得します。 詳細はプラグイン詳細画面とサイト(saitodev.co/soycms/soyshop/)を参照してください。

 

Google Maps APIのジオコーディングのコードをOpenStreetMapのNominatimで書き換えてみた

/** Geminiが自動生成した概要 **/
Google Maps APIのジオコーディングをOpenStreetMapのNominatimに書き換えた。エンドポイントとJSONレスポンスの差異に対応するだけで比較的容易に移行できた。NominatimはAPIキー不要で回数制限もない。しかし、Google Maps APIと比べて検索速度が遅く、曖昧な地名検索の精度や郵便番号検索の網羅性で劣る。Google Maps APIは検索速度と精度の面で優れているが、費用と回数制限が課題となる。Nominatimは無料だが、パフォーマンスに課題があるため、用途に応じて使い分ける必要がある。

 

ARM版ChromebookにDropboxをインストールする

/** Geminiが自動生成した概要 **/
ARM版ChromebookでLinuxアプリのDropboxを使うには、.debパッケージが使えないためDbxfsを利用する。pip3でDbxfsをインストール後、Dropboxフォルダを作成し、dbxfsコマンドを実行。表示されるURLにアクセスし、Dropboxにログインして認証コードを取得、端末に入力する。パスフレーズを設定すれば、Linuxファイル配下でDropboxのファイルが操作可能になる。Android版DropboxはChromebookのFilesのLinux共有に対応していないため、この方法が必要。

 

設置したお問い合わせフォームからの通知メールが届かない

/** Geminiが自動生成した概要 **/
SOY Inquiryで構築したお問い合わせフォームの管理者宛通知メールが突如届かなくなった。調査の結果、送信テストの繰り返しにより、さくらのメールボックスで迷惑メールと判定されていたことが判明。対応として、メールボックスのコントロールパネルで管理者メールアドレスをホワイトリストに登録した。転送設定を利用しているため、転送先メールアドレスのホワイトリストにも同様の登録が必要。通知メールにお問い合わせ番号を含めることで迷惑メール判定を回避できる可能性も検討中。

 

OpenStreetMap + Leafletでカスタムアイコンを使ってみる

/** Geminiが自動生成した概要 **/
OpenStreetMapとLeafletを使って地図上にカスタムアイコンを表示する方法を紹介しています。 シンプルなマーカー設置では、L.icon()でアイコンオブジェクトを作成し、L.marker()のオプションで指定します。 L.geoJSONを使う場合は、GeoJSONデータのpropertiesにiconオブジェクトを追加し、pointToLayerオプションで条件分岐することで、特定のマーカーのみカスタムアイコンに変更できます。 記事では、摂津峡のマーカーにnature.pngというカスタムアイコンを設定する例を示しています。

 

SOY CMSのブログとOpenStreetMapで地図アプリを作ろう

/** Geminiが自動生成した概要 **/
SOY CMSのブログとOpenStreetMapで地図アプリを作る手順は以下の通り。カスタムサーチフィールドで緯度(lat)・経度(lng)フィールドを作成し、地図ラベルを設定。地図出力ページを作成し、OpenStreetMap + LeafletのHTMLを貼り付ける。JavaScript内のマーカー情報をSOY CMSのタグに置き換え、記事タイトル、URL、緯度経度を動的に表示。標準ページに地図ラベルの記事一覧を表示する設定を行い、緯度経度情報付きの記事を投稿すれば、記事の位置にマーカーが設置された地図が自動的に生成される。

 

OpenStreetMap + Leafletで二つのマーカーを設置する

/** Geminiが自動生成した概要 **/
OpenStreetMapとLeafletを用いて地図上に複数のマーカーを設置する方法について解説されています。以前の記事ではマーカー一つずつにクリックイベントを設定していましたが、今回は複数のマーカーをまとめて表示する方法を説明しています。具体的には、位置情報オブジェクトを配列で定義し、L.geoJSON関数の第一引数に渡すことで実現しています。配列内の各オブジェクトは、マーカーの名称、リンク先のURL、緯度経度情報を持ちます。以前のコードではオブジェクトが一つしか扱えず、複数マーカー設置には非効率でした。今回の変更により、配列に要素を追加するだけで簡単にマーカーを増やせるようになりました。記事では摂津峡と山水館の二つのマーカーを設置する例を示し、山水館へのリンクも掲載しています。

 

OpenStreetMap + Leafletで設置したマーカーにクリックのイベントを追加した

/** Geminiが自動生成した概要 **/
OpenStreetMapとLeafletを用いて地図上にマーカーを設置し、クリックイベントを追加する方法について解説しています。まず、Leafletで地図上にマーカーを設置する基本的なコードを示し、クリックイベントを追加するために`L.geoJSON`を使用する方法を説明しています。`L.geoJSON`の第二引数に`onEachFeature`オプションを渡すことで、マーカーごとにクリックイベントを設定できます。記事では、クリックイベント発生時に任意のURLへ遷移する例を挙げており、PCとスマホそれぞれでクリックとタップイベントに対応するコードを記述しています。

 

OpenStreetMap + Leafletを試してみた

/** Geminiが自動生成した概要 **/
この記事では、Google Maps JavaScript APIの代わりにOpenStreetMapとLeafletを使って地図を表示する方法を紹介しています。OpenStreetMapは無料で利用でき、Leafletは簡単に地図を表示できるJavaScriptライブラリです。記事では、大阪府高槻市の摂津峡を例に、緯度経度を指定して地図を表示し、マーカーを設置する手順をコード付きで解説しています。結果として、少ないコードで簡単に地図上にマーカーを表示することができました。

 

【SEO対策】Google Analyticsのスクリプトをページ読み込み直後にする

/** Geminiが自動生成した概要 **/
HTMLScriptElement は `<script>` タグを制御するインターフェース。`src` 属性で外部スクリプトを読み込み、`async` 属性を設定すると解析を妨げずに非同期でスクリプトを実行、`defer` 属性はHTML解析完了後に実行、`type` 属性でスクリプト言語を指定。`text` 属性に直接コードを記述も可能。`onload` イベントで読み込み完了を検知、`onerror` でエラー処理。`crossorigin` 属性はCORSリクエストを制御。`integrity` 属性はSubresource Integrity を使用し、読み込んだスクリプトの整合性を検証。`referrerpolicy` はリファラーヘッダーを制御。`nomodule` はES Modulesをサポートしないブラウザでスクリプトを実行。

 

Dropbox-Uploaderでサーバの負担を軽減する

/** Geminiが自動生成した概要 **/
サーバのDropbox容量圧迫問題をDropbox-Uploaderで解決する手順。1. Dropbox-Uploaderをダウンロード&セットアップ(アクセストークン取得含む)。2. 送信したいファイルをサーバに配置。3. rootのcrontabで、`dropbox_uploader.sh upload`コマンドを使い、指定時間にDropboxへアップロードするよう設定。4. 常駐Dropboxを停止(`dropbox stop`)し、`top`コマンドで停止確認。これにより、常駐Dropboxが不要になり、サーバ負荷を軽減できる。

 

SOY ShopでLogin with Amazonプラグインを作成しました

/** Geminiが自動生成した概要 **/
SOY Shop用のLogin with Amazonプラグインが開発され、Amazonアカウントでのログインが可能になった。取得できるデータはAmazon ID、氏名、メールアドレスで、住所取得は今後の課題。このプラグインは、以前開発されたAmazon Payワンタイムペイメントモジュールと連携できる可能性がある。プラグインはsaitodev.coで提供されているSOY Shopパッケージに含まれる。

 

郵便番号を入力したら半径3km内のすべての町名を取得する

/** Geminiが自動生成した概要 **/
Google Geocoding APIを用いて、指定住所(安岡寺)から半径3km以内の町名を取得する方法を検証した。APIで中心座標を取得後、緯度経度を0.01(約1km)ずつずらした地点の逆ジオコーディングを繰り返し、町名を収集した。しかし、1kmグリッドでは範囲内の全町名を網羅できず、グリッドを細かくするとAPI使用回数が増加する問題点が残った。より効率的な方法の検討が必要。

 

SOY ShopでRFID在庫管理ツール ZAIKAに対応しました

/** Geminiが自動生成した概要 **/
SOY Shopがレンタルサービス事業者向けRFID在庫管理ツール「ZAIKA」とAPI連携できるプラグインを開発しました。ZAIKAはレンタル業務の発送・返却作業効率化と在庫単位での収益・稼働・状態管理を実現するツールです。プラグイン利用にはSOY Shopのオーダーカスタムフィールド(日付)との連携が必要ですが、現状未実装です。連携機能開発は需要に応じて対応予定。プラグイン利用希望者やレンタル業務用SOY Shop構築希望者は問い合わせください。なお、顧客関連管理機能強化については言及されていません。

 

さくらのメールボックスからのメールをGmailで受信した際の?のアイコンを回避

/** Geminiが自動生成した概要 **/
さくらのメールボックスからGmailへメール送信時、送信元認証がされていないため「?」アイコンが表示される問題を解決する方法。お名前.comで取得したドメインのDNS設定で、さくらのメールボックスのホスト名を用いてSPFレコード `v=spf1 a:ホスト名 mx ~all` をTXTレコードとして追加する。設定後、mxtoolbox.comでSPFレコードを確認し、Gmailで受信したメールのアイコンが「?」から人物アイコンに変われば成功。

 

gRPC for PHPのインストール

/** Geminiが自動生成した概要 **/
この記事はUbuntu 19.10環境でGoogle Ads APIを使用するためのgRPC for PHPのインストール手順を解説しています。PEAR/PECL、Composerをインストール後、`pecl install grpc`、`pecl install protobuf`コマンドでgRPCとprotobufをインストールします。その後、`/etc/php/7.4/cli/php.ini`と`/etc/php/7.4/fpm/php.ini`両方に`extension=grpc.so`と`extension=protobuf.so`を追加し、`phpinfo()`や`php -m`でインストールを確認します。記事ではComposerのインストール手順も解説していますが、gRPCのインストール自体はComposerを使わずPECL経由で行っています。

 

Google AdsのMCCアカウントでキーワードプランナーを無料で使えるようにするまで

/** Geminiが自動生成した概要 **/
Google Ads APIを利用するにはMCCアカウントが必要で、キーワードプランナーを無料で使う方法を解説。MCCアカウント作成後、キーワードプランナーは有効な広告アカウントがないため使えない。そこで、エキスパートモードで「キャンペーンなしでアカウントを作成」し、生成されたお客様IDをメモ。MCCアカウントに戻り、サブアカウント設定で「既存のアカウントをリンク」し、お客様IDを入力してリクエストを送信、承認する。これでMCCアカウントでキーワードプランナーが無料で使えるようになる。

 

SOY ShopのPAY.JP定期課金モジュールでカード情報の変更の画面を追加しました

/** Geminiが自動生成した概要 **/
SOY ShopのPAY.JP定期課金モジュールに、カード情報変更機能が追加されました。現在はマイページログイン後からの変更ですが、将来的にはメール経由でログインなしでの変更も可能になる予定です。 このアップデートにより、ユーザーは定期課金のカード情報を更新できるようになり、期限切れ等による課金停止を防ぎます。 PAY.JP定期課金モジュールは、SOY Shopでクレジットカード決済の継続課金を行うためのプラグインです。最新版はsaitodev.co/soycms/soyshop/からダウンロードできます。

 

PHPのexec関数でセッションの値の引き継ぎに苦戦した時のメモ

/** Geminiが自動生成した概要 **/
Amazon Linux 2のLAMP環境で、PHPの`exec`関数を使ってGoogle Analytics APIにアクセスする際にセッションの引き継ぎに失敗した。`exec`で実行した`cmd.php`内で`session_start()`してもセッション情報が取得できなかった。調査の結果、`cmd.php`内では`session_save_path()`の戻り値が空文字列になっていた。`session_save_path("/var/lib/php/session");`を`session_start()`前に追加することでセッション情報が取得できるようになり、APIアクセスも成功した。`php.ini`の`session.save_path`の設定が原因と考えられるが、未検証。

 

Ubuntu19.10でGoogle Photoでデジカメの画像のアップロードがエラーになる時の対応

/** Geminiが自動生成した概要 **/
Ubuntu 19.10でGoogleフォトにUSB接続のデジカメ画像をアップロードしようとしたら、「Permission denied」エラーが発生。原因はChromiumブラウザの設定でリムーバブルメディアへのアクセスが許可されていなかったため。UbuntuソフトウェアからChromiumの詳細設定を開き、「リムーバブルストレージデバイスのファイルの読み取り/書き込み」を有効化することで解決。

 

Google Analytics APIの承認で苦戦したので、承認されるまでの流れをまとめてみた

/** Geminiが自動生成した概要 **/
Google Analytics APIの承認取得に苦労した著者が、その過程を詳述。OAuth同意画面の設定から始まり、Googleからの度重なるメールでの指摘に対応していく。 ホームページ、プライバシーポリシーの設置、アプリ操作動画の提出を求められ、動画はクライアントIDの表示や言語設定など細かい指示に従い作成し直した。最終的に承認を得るまで、動画の翻訳やスコープ設定の不備など、多くの修正を余儀なくされた。

 

さくらの追加ストレージ(NFS)内のファイルをDropboxで同期したい

/** Geminiが自動生成した概要 **/
さくらインターネットのVPSに追加ストレージ(NFS)を導入し、サイトのバックアップファイルを格納。Dropboxと同期するために、NFS上のバックアップファイル(/var/www/html/site/storage/backup/site.zip)へのシンボリックリンクをDropboxディレクトリ(/home/*****/Dropbox/backup/)に作成した。DropboxのWebサイトで確認したところ、シンボリックリンク経由でファイルが同期されていた。ただし、リンク先のファイル更新をDropboxに認識させるには、シンボリックリンクのタイムスタンプを`touch -h /home/*****/Dropbox/backup/site.zip`で更新する必要がある。※ この方法はDropbox側で廃止されたため、現在はDropbox-Uploaderを利用して直接ファイル転送を行う方式に変更されている。

 

ワードやエクセルファイルの編集はDropboxフォルダで行おう

先日、IT関連でない方とMicrosoftのWordで編集作業を行う機会があった。何日もかけてWordで提出用の資料を作成していたのだが、一緒に作業をしていた方から、「データが消えるのが怖いから現時点のものをメールで送ります」と連絡と一緒に作成したWordのファイルが送られてきた。作業用パソコンで何らかの障害があってファイルが消える対策として、ファイルの保管と他の方との共有を行ってくれるWebサービスであるDropboxの活用を提案してみた。活用は簡単で、

 

Go言語でSearch Consoleの値を取得してみる

表題にある通り、Go言語でGoogle Search Consoleの値を取得してみる。https://search.google.com/search-console/aboutGoogle Search Consoleというのは、運営しているサイトがどのような検索ワードで訪問してくるか?を調べることが出来るWebサービス。早速、Search Consoleの値をGo言語で取得する為の手続きを見てみる。https://console.clou

 

UbuntuでさくらのVPS for Windows Serverを使用する

UbuntuでさくらのVPS for Windows Serverに接続することになったので、その時に試した内容をメモとして残しておく。※VPSサーバ側の手続きは今回の記事では記載しません。さくらのVPS for Windows Serverはじめに環境Lenovo Ideapad 720S プラチナCPU : AMD Ryzen 5 2500U APU ( 2.00GHz 2MB )OS : Ubuntu 18.04メモリ : 8.0GB PC4-17000 D

 

Go言語でGoogle Analyticsのデータをチャットワークに送ってみる

「植物のミカタ」のGoogle Analytics(以後GAと略す)から取得したpageviewsをチャットワークに送ってみる。今回は、前日のpageviewsと日付けを取得してみる。※pageviewsとは、閲覧されたページの合計数として定義される指標実際のコードを書く前に今回のコードで必要なライブラリを取得しておく。$ go get golang.org/x/oauth2$ go get google.golang.org/api/analytics/v3pa

 

Go言語 + kintone + チャットワークでタスクの自動登録アプリを作ってみる3

前回のGo言語 + kintone + チャットワークでタスクの自動登録アプリを作ってみる2でGo言語でkintone REST APIを利用して任意のアプリからJSON形式で登録データを取得してみた。今回は取得したデータをチャットワークにタスクとして登録してみる。今回の話に入る前にざっくりと説明するとkintoneで上のキャプチャのようなフィールドを設けたアプリを作成して、指定の月日になったら、チャットワークにラベルをタスク名にして投稿するというアプリを

 

Go言語 + kintone + チャットワークでタスクの自動登録アプリを作ってみる2

前回のGo言語 + kintone + チャットワークでタスクの自動登録アプリを作ってみる1の続きざっくりと説明すると、kintoneで上のキャプチャのようなフィールドを設けたアプリを作成して、指定の月日になったら、チャットワークにラベルをタスク名にして投稿するというアプリを作成している。指定の月日になったらというところだけれども、kintoneの仕様を調べてみると、Linuxでいうところのcronのような機能を見つけられなかった為、Go言語でkint

 

Go言語 + kintone + チャットワークでタスクの自動登録アプリを作ってみる1

毎年同じ時期にやらなければならない仕事があって、その仕事を忘れないようにしておきたい。できれば、チャットワーク(ChatWork) | ビジネスが加速するクラウド会議室チャットワークのタスクとして登録しておきたい。という相談があった。PHPでチャットワークAPIを介してメッセージを投稿してみるkintone - サイボウズのビジネスアプリ作成プラットフォーム相談者は既にcybozeのkintoneを利用していたので、タスクの登録はk

 

PHPでチャットワークAPIを介してタスクを登録してみる

チャットワーク(ChatWork) | ビジネスが加速するクラウド会議室以前、PHPからチャットワークを介してメッセージを投稿してみたことがある。PHPでチャットワークAPIを介してメッセージを投稿してみる今回はチャットワークAPIを介してタスクを登録してみることにする。先に前回の復習でメッセージの投稿周りのコードを確認しておく。<?php//取得したAPIトークンを入れる$apiKey = "**********************

 

kintoneのカレンダーの日付カラムで4件以上表示したい

kintoneを利用している方から標準機能のカレンダーを印刷してスケジュールの確認用として社内の掲示板に張りたいということでkintone - サイボウズのビジネスアプリ作成プラットフォーム新しいアプリを作成して、カレンダーページを設けました。ここで一つ問題発生。同じ日にスケジュールが4件以上あると、3件目以降のスケジュールが折りたたまれて、印刷をしても表示されなくなる。これだと冒頭の要件を満たさないということで、JavaScrip

 

kintoneで指定の個所だけ印刷範囲にしてみる

最近、サイボウズのWebサービスのkintoneについて色々と調べている。kintone - サイボウズのビジネスアプリ作成プラットフォームkintoneというものを軽く触れておくと、公式サイトの説明文をそのまま引用すると開発の知識がなくても自社の業務に合わせたシステムをかんたんに作成できる、サイボウズのクラウドサービスです。 業務アプリを直感的に作成でき、チーム内で共有して使えます。使用すること自体は有償ですが、開発者登録をすると無償で利用で

 

複合機とGoogleドライブを連携して、出先でFAXの内容を確認する

最近の複合機はFAXを受信した時にGoogleドライブにPDFファイルとして共有する機能があるらしい。この機能があれば出先であってもスマホ等があれば出先でもPDFを確認できるようになるため、帰社するまでFAXの内容を確認できないとか、社内にいる人がFAXの内容をスキャンしてメールで送信という手間が省ける上、営業FAX等の受信で無駄に紙を使用するということもなくなる。ただし、この機能はGoogleドライブで共有だけで、FAXを受信したことをリアルタイムで把握したいので、

 

チャットワークとGoogle Apps Scriptで音声入力で投稿してみる

Google AppsのGoogleドキュメントでは音声入力という機能がある。Googleドキュメントで画像ファイルから文字列を抜き取ってみるGoogle ドキュメント - オンラインでドキュメントを作成、編集できる無料サービス前回紹介したGoogle Apps Scriptでチャットワークに投稿するライブラリと組み合わせて、音声入力でチャットワークに投稿するコードを書いてみる。Google Apps Scriptからチャットワークに投稿してみる音声入力のルールと

 

Go言語でHTTPのPOST

クライアントがサーバにデータを送ることをHTTPのPOSTと呼ぶ。今回はチャットワークのマイチャットに「GOからのテスト投稿」という文字列を送ってみる。チャットワークに投稿するための事前準備として、チャットワークAPI鍵とroomIDを調べておく必要がある。調べ方は下記の記事を参考にした。PHPでチャットワークAPIを介してメッセージを投稿してみるfunc main() {room_id := "36286956"url := "https://api.c

 

Google Apps Scriptからチャットワークに投稿してみる

チャットワーク(ChatWork) | ビジネスが加速するクラウド会議室PHPでチャットワークAPIを介してメッセージを投稿してみるでPHPからチャットワークに投稿する内容を記載した。が!おそらく普段の業務ではPHPでコードをゴリゴリ書くよりも、Google Apps Script(以後、GAS)で書いた方が様々なWebアプリを簡単に利用できるGoogle Appsの恩恵を預かれるため有効だろう。社会人・学生向けプログラミング教室でGASで業務改善の勉強会を行いま

 

PHPでチャットワークAPIを介してメッセージを投稿してみる

妻にプログラミングを教えることにした-前編でも記載したけれども、最近、仕事上での電話問題の解決のために様々な試みをしている。そのうちの一つとして、SlackやChatWorkといった拡張性の高いチャットツールを利用することを視野に入れている。※LINEやFacebookにあるグループ機能での仕事のやりとりからの脱却が重要SlackとChatWorkの両方を検討してみたけれども、日本の中小企業の方であれば、チャットワーク(ChatWork) | ビジ

 

社会人・学生向けプログラミング教室でHTML Serviceの勉強会を行いました

社会人・学生向けプログラミング教室でGoogleスプレットシートの拡張の勉強会を行いましたの続きで、HTML ServiceとGoogleドキュメントとの連携でできる事を行いました。Google Apps ScriptのHTML Serviceを試してみたGoogle ドキュメント - オンラインでドキュメントを作成、編集できる無料サービスGoogleドキュメントでUIをどこまでカスタマイズできるのか?可能性を確認した上で業務改善の検討会等で新たなアイディ

 

Google Apps ScriptのHTML Serviceでファイルアップロードを行う

今まで、Google Apps Script(以後、GAS)で他のWebサービスと連携したり、OCRで画像から文字列を取得してみた。Google Apps ScriptのHTML ServiceでGoogle Calendarの予定を取得してみるGoogle Apps ScriptでJPEGの画像からOCRで画像内の文字列を取得してみたあと、Webアプリ開発として把握しておきたいことと言えば、ファイルのアップロード等を行うためのフォームだろう。というわけでマニュアルを

 

Google Apps ScriptでJPEGの画像からOCRで画像内の文字列を取得してみた

表題の通り、Google Apps Script(以後GAS)で、指定の画像から文字列を取得できるか?試してみた。Google Apps ScriptのHTML ServiceでGoogle Calendarの予定を取得してみる先に画像から文字列を取得あたりだけど、以前、Googleドキュメントで画像ファイルから文字列を抜き取ってみるの記事でGoogleドキュメントを活用して、画像から文字列を取得してみた。この技術を光学文字認識(Optical character r

 

Google Apps ScriptのHTML ServiceでGoogle Calendarの予定を取得してみる

Google Apps ScriptのHTML Serviceで自作した関数の結果を出力してみるで自作した関数の実行結果をHTML Serviceから出力されたページに表示してみた。これを踏まえた上で、Google Calendarの予定の表示を試してみる。コード.gsfunction doGet() {var html = HtmlService.createTemplateFromFile('index');return html.evalua

 

Google Apps ScriptのHTML Serviceで自作した関数の結果を出力してみる

詳解! Google Apps Script完全入門 ~Google Apps & G Suiteの最新プログラミングガイド~ - 秀和システム前回のGoogle Apps ScriptのHTML Serviceを試してみたでGoogle Apps Script(以後、GAS)のスクリプトエディタで作成したHTMLを出力したことを記載した。今回はGoogle Apps Scriptの可能性を知るために、HTMLを読み込み実行しているコード.gsの方で作成した自

 

Google Apps ScriptのHTML Serviceを試してみた

昨年末に出版された詳解! Google Apps Script完全入門 ~Google Apps & G Suiteの最新プログラミングガイド~ - 秀和システムが素晴らしいということで早速読んでみた。Google Apps Script(以後、GAS)は社会人・学生向けプログラミング教室でGoogleスプレットシートの拡張の勉強会を行いましたにあるようにプログラマでない人が大幅な業務改善を行う上で重要な技術となると確信している言語である。GASはJavaScri


Powered by SOY CMS  ↑トップへ