Apps Scriptリファレンス: Apps Script Reference |障害・課題追跡: IssueTracker |Google Workspace: Status Dashboard - Summary

ラベル clasp の投稿を表示しています。 すべての投稿を表示
ラベル clasp の投稿を表示しています。 すべての投稿を表示

2018年12月9日日曜日

claspでローカルにcloneする


スクリプトエディタに書いたコードをローカルに持ってくるときは

current $ clasp clone SCRIPT ID

これで今いるフォルダに新規フォルダが作成されてコード.gsが複製されます。

Google Apps ScriptのスクリプトIDの取得方法



以下のようなスクリプトがあって



Homeにclaspというフォルダを作っていてそこで実行しています

mkdir MyScriptでMyScriptというフォルダを作って
clasp clone スクリプトIDでスクリプトファイルを持ってくる


コマンドライン
MacBook:clasp myname$ mkdir MyScript
MacBook:clasp myname$ cd MyScript
MacBook:MyScript myname$ clasp clone スクリプトID
Cloned 2 files.
└─ コード.js
└─ appsscript.json
MacBook:MyScript myname$
意訳
claspフォルダの中にMyScriptという名前のフォルダを作成する
MyScriptフォルダに移る
MyScriptフォルダにスクリプトIDのプロジェクトをクローンする
以下2つのファイルがクローンされた






フォルダ構成はこんな感じになります
上記は不可視ファイルも表示しているので.clasp.jsonも見えています
macOS High Sierraで隠しファイルを表示する


関連記事

claspを使ってみる



参考

Command Line Interface using clasp
https://developers.google.com/apps-script/guides/clasp


2018年9月30日日曜日

claspでpullとpushができなくなった時にlogoutしてloginし直すと解決した話


結論から言うと、タイトルに書いてあるように
$ clasp logout
してから

$ clasp login
すると解決しました


つまづいたことと試したことを備忘録で書き残しておきます。

今回つまづいたこと

$ clasp pull
$ clasp push
ができなくなった


pullの場合
$ clasp pull
Error: Permission denied. Enable the Apps Script API:
https://script.google.com/home/usersettings

と言われたので
https://script.google.com/home/usersettings
にアクセスしてみると「オン」になっているのでEnabledにはなっている
Permission denied.は別の原因っぽい。


pushの場合
$ clasp push
Push failed. Errors:
Requested entity was not found.

こう返ってきてしまう。


試したこと


その1
$ clasp open
でスクリプトエディタを開くことはできる


その2
$ clasp login
You seem to already be logged in. Did you mean to 'logout'?
と返ってくるのでログインはできている


いろいろとググってみても解決策が見つからない…


その3
以下のコンソールにアクセスしてみると
https://console.cloud.google.com/apis/library/script.googleapis.com?project=SCRIPT ID


自分がオーナーのはずが「有効にする」権限がないらしい


その4
リソース > Googleの拡張サービスで
下部にあるリンク「Google Cloud Platform API Dashboard」をクリックして

左サイドのメニューで「ライブラリ」をクリックして


「Apps Script」で検索

ここで「有効にする」をクリック

$ clasp push
Push failed. Errors:
The caller does not have permission

pushで返ってくるメッセージは変わったけれど
やはり権限がないらしい


その5
もはやどうすればいいのかわからないので
一度ログアウトしてログインしてみようとふと思った

といわけで
$ clasp logout
してから

$ clasp login
すると解決しました


2018年5月13日日曜日

claspで.clasp.jsonが作成されずScript IDが紐付かない時にやったこと


やったこと

  • なぜか一つ上の階層に.clasp.jsonが存在していたのでそれを消した
  • .clasp.jsonが作成されていなかったディレクトリの中身を空にしてcloneし直す
    • すると.clasp.jsonが作成されてscript IDも保存された




2018年5月12日土曜日

claspを使ってみる


claspをMacにインストールして使ったときの手順

公式の手順に沿ってやってみる
https://codelabs.developers.google.com/codelabs/clasp/#0

$ sudo npm install n -g
$ sudo n latest
$ npm i @google/clasp -g
→npm update check failed                       │
│                 Try running with sudo or get access                 │
│                to the local update config store via                 │
│ sudo chown -R $USER:$(id -gn $USER) /Users/NAME/.config

と言われたので
$ sudo npm i @google/clasp -g
$ clasp
$ clasp login

→ブラウザが起動してログインすると
Logged in! You may close this page.と出る

フォルダを作ってそこに新規スクリプトファイルを作成する
$ mkdir clasp_codelab && cd clasp_codelab
$ clasp create "clasp Codelab"
→Error: Permission denied. Enable the Apps Script API:

と言われるので
https://script.google.com/home/usersettings
でAPIをオンにしてリトライ
$ clasp create "clasp Codelab"

これで新規スクリプトファイルは作成できた


ドライブ内のファイルを開くには
$ clasp open


オンラインのプロジェクトをローカルに持ってくるときは
$ clasp clone SCRIPT ID


オンラインのプロジェクトを編集してからローカルに反映するときは
$ clasp pull


ローカルのプロジェクトを編集してオンラインに反映するときは
$ clasp push

このあとオンラインのプロジェクトを再読込すると反映を確認できる


バージョンを保存するときは
$ clasp version "説明"


Webアプリをデプロイする場合
$ clasp deploy 2 "Second deployment"

一度もデプロイされていないとこのコマンドは使えないらしい
(スクリプトエディタ上で事前に一度アプリをデプロイしておく必要がある)





参考

Command Line Interface using clasp
https://developers.google.com/apps-script/guides/clasp

clasp - The Apps Script CLI
https://codelabs.developers.google.com/codelabs/clasp/#0

GitHub google/clasp
https://github.com/google/clasp

G Suite Developers Blog
https://gsuite-developers.googleblog.com/2018/01/three-new-tools-to-help-improve-your.html?m=1

Latest post

Google Formsでクイズを作りたい

Googleフォームには回答を判定するクイズモードがあります 今回はそのクイズモードで回答の判定とフィードバックについて書いていきます 「クイズモード」の表記: 日本語の表記は「テストにする」ですが 英語の表記は「Make this a quiz」となっています この記事ではそれ...