質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

1回答

996閲覧

【GAS】ショートカットを使ってスプレッドシートに書き込む

aiueomaruta

総合スコア27

Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2020/11/07 09:26

編集2020/11/08 05:12

iPadのアプリの「ショートカット」を使ってスプレッドシートに書き込むものを作ってみましたが上手くいきません。

GAS

1function doGet() { 2 var today = new Date(); 3 var time = Utilities.formatDate(today, "Asia/Tokyo", "yyyy/MM/dd-HH:mm:ss"); 4 var sh = SpreadsheetApp.openById('12Am9bnb_LP0f-usOFzH4of7wHpd2obCdkrRKWU76J6I'); 5 sh.appendRow([time]) 6}

イメージ説明
イメージ説明
URLをSafariで開くとうまく行きますがショートカットでやると上手くいきません…
これを参考にしてみました

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

draq

2020/11/07 09:47

> 普通にWebで開くとうまく行きますが Webで開くとは URL を Chrome 等のブラウザで開いたということでしょうか。 それとも GAS の WEB エディタから実行したということでしょうか。
aiueomaruta

2020/11/07 09:55

URLをSafariで開きました
draq

2020/11/07 10:06

じゃあ動くはずですね。試しにスプレッドシートIDだけ変えて実行してみましたが、ショートカットを実行時にスプレッドシートに現在日時が書き込まれました。 あと思いつくのは、WEBアプリケーション公開時の設定で、Who has access to the app の設定が Anyone, even anywhere になってないとか。念のため、appsscript.json の内容を質問に記載してください。 他にはショートカットに設定したURLの転記ミスとか。
aiueomaruta

2020/11/07 12:47

ショートカットの内容を取得の表示が小さくなっていました!修正しておきます
draq

2020/11/08 04:44

画像の右上にGoogleアカウントをマスクし忘れているので画像を差し替えたほうがいいです。
aiueomaruta

2020/11/08 05:11

ありがとうございます!
guest

回答1

0

ベストアンサー

Who has access to the app の設定で Anyone within ~ が選択肢にあるということは、GSuite (for Education?)アカウントみたいですが、Anyone within (学校名?)はWEBアプリケーションの公開対象を同一のサイト(学校)のアカウントのみに制限します。一般的な Webhook では使えません。

Webhook の様に Google アカウントへログインをせずにアクセスさせるには、Anyone, even anonymousを選ぶ必要がありますが、GSuite for Education の場合は選択できないかもしれません。管理者の設定次第の可能性もあります。

一応 UI から選択できないだけで設定できる可能性もあるので、appsscript.jsonwebapp.accessANYONE_ANONYMOUSに、executeAsUSER_DEPLOYINGに変更してみてください。

appsscript.jsonが表示されていない場合は、メニューから「表示」->「マニフェストファイルを表示」を選ぶと、左側のファイルリストに表示されるようになります。

JSON

1{ 2 "timeZone": "Asia/Tokyo", 3 "dependencies": { 4 }, 5 "webapp": { 6 "access": "ANYONE_ANONYMOUS", 7 "executeAs": "USER_DEPLOYING" 8 }, 9 "exceptionLogging": "STACKDRIVER", 10 "runtimeVersion": "V8" 11}

投稿2020/11/08 04:46

draq

総合スコア2577

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

aiueomaruta

2020/11/08 05:17

学校のアカウント限定なのでショートカットからアクセスできなかったんだと思います。学校内限定になっていたので下のコードをやってみます!
aiueomaruta

2020/11/08 05:22

ダメでした。学校のアカウントではなく普通のアカウントでやってみます。
aiueomaruta

2020/11/08 05:26

普通のアカウントを使ったらできました!
aiueomaruta

2020/11/08 08:07

function doGet(a,b){ } のようにしてaとbに値を入れて実行するにはどうすればいいですか?
draq

2020/11/08 08:20

できません。クエリパラメータ付きのURLでアクセスしたいということですか?
aiueomaruta

2020/11/09 07:05

その方法も教えて欲しいです。またショートカットの方法をPostというやつにしてデータを送ることはできるのでしょうか?
draq

2020/11/09 13:17

まずは過去ログ等検索しましょう。ググってもいいし、Teratailの上部にある検索窓使ってもいいし。 Teratail なら「[Google Apps Script] クエリパラメータ」で検索すると[Google Apps Script]タグが付いた質問から絞り込めます。 とりあえず、過去に回答した質問です。 https://teratail.com/questions/288818
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問