min117の日記

初期desireもち。趣味Mac,メインFedora,仕事xp。

GoogleスプレッドシートをRaspberryPi3から更新する(import requests もしくは curlで)

ハピタス登録で1,000円分になるURL

その買うを、もっとハッピーに。|ハピタス

 

 

GAS楽しい

ブラウザにGET文で引数つけた文字列ぶっ込んでENTERすれば、GoogleAppScript(GAS)で作られたSheetを更新できるようにしたい。

 

とりあえずGET文でSheet更新するところまではできた

 

あとはこれをラズパイから更新できるようにしたいのだが、Googleのアカウント認証を実装しないといけないみたい。

monomonotech.jp

 

まずは pi3 からGoogleスプレッドを扱えるようにする。

www.nakakamado.com

 

Pi3にgspreadインストール

$ pip3 install gspread

$ pip3 install oauth2client

 

sudo でも入れておくか(daemon動作の時にはrootで動くらしいし)

$ sudo pip3 install gspread

$ sudo pip3 install oauth2client

 

GCPでプロジェクト作成

GCP(GoogleCloudPlatform)でプロジェクト作成いるんか。

tanuhack.com

 

ちなGCP請求確認

いつのまにかAPI利用料取られてないかは心配(常に確認しないと)。

https://console.cloud.google.com/billing

console.cloud.google.com

 

Google Drive API 有効化

 

Google Sheets API 有効化



認証情報を設定する

続きは後日。

tanuhack.com

 

最終のゴール

Pi3で「会場参加者のQRコードを読み込んでGASの受付シートに書き込む」つまり受付システムを作る

hellobreak.net

 

 

function onEdit(){
var sh=SpreadsheetApp.getActiveSheet()
var rng=sh.getActiveCell()
var r =rng.getValue()
var row=rng.getRow()
var col=rng.getColumn()
var today=new Date
if(row >= 3 && col==4){
// チェックボックスがTRUEの場合 rが真
if (r){
sh.getRange(row,5).setValue(today)
// sh.getRange(row,5).setValue(now()-trunc(now()))
}
else {
sh.getRange(row,5).setValue("")
}
}
}

function doGet(e) {
var sh2 = SpreadsheetApp.getActiveSheet();
// sh2.appendRow([1]);
// sh2.appendRow([new Date(), 1]);
// sh2.appendRow([1, new Date()]);
// let Day_Data = "2020/12/24 12:12:12";
// let Day_Data = new Date(); //today()
// ## ブラウザから更新
// Utilities.formatDate(new Date(Day_Data), "JST", "yyyy/MM/dd HH:mm:ss");
//// myDate = Utilities.formatDate(new Date(), "JST", "HH:mm");
// sh2.appendRow([A列の値, B列の値, C列の値, ...])
//// sh2.appendRow([1, myDate, "TRUE"]);

// ## ブラウザから更新(引数data1=1234あり)
// 上の「実行」ボタンではエラーになるが、この↑URLをブラウザから叩くとSheetのほうは(parameterの値で)正しく更新されている
var myARG1 = e.parameter.data1;
Logger.log(myARG1);

myDate = Utilities.formatDate(new Date(), "JST", "HH:mm");
sh2.appendRow([1, myDate, "TRUE", myARG1]);

Logger.log("OK");
// return("OKK");
}
 

 

 

 

 

 

その買うを、もっとハッピーに。|ハピタス