#author("2020-11-17T08:23:06+00:00","","")
#author("2020-11-17T08:26:04+00:00","","")
[[センサとマイコン(Arduino, Raspberry Pi)による行動分類]]
#CONTENTS
~
~
**[[1.Google Cloud Platformにて:https://console.developers.google.com/]] [#weea153e]

1.1 データ取得のために適当にプロジェクトを作成する~
#ref(23.PNG)
[新しいプロジェクト]で適当に名前を入力する。~

1.2 外部から操作するために2つのAPIを有効にする~
左側にある[ライブラリ]を選択し[googleDriveAPi]をさがし、選択。有効にする~
同じ手順で[GoogleSheetsAPI]も有効にする。無事2つが有効にできたら[ダッシュボード]が下図のようになる。
#ref(25.PNG,,40%)

1.3 認証情報~
左側にある[認証情報]を選択し、認証情報を作成し、サービスアカウントを選択する。~
適当にサービスアカウント名を入力して作成
#ref(26.PNG)
アカウントの制限をProjectの編集者に設定。最後に作成をクリックするとアカウントができる
#ref(27.PNG,,50%)
#ref(28.PNG,,50%)
最後に秘密鍵を入手する。つくったサービスアカウントを選択し[キー]から鍵を作成する。~
#ref(29.PNG,,50%)
そうするとPCに鍵が保存される.この時キーのタイプがJSONになっていることを確かめる。~
~
~
&color(red){最後に保存された秘密鍵の名前を[cilent_secret.json]にして任意のファイルに移動させる};~
後にこのファイルにこれから使うコードを全部いれる~

**2.スプレッドシートカチコミ [#o3d3c0fe]
1の設定で作成したアカウントとスプレッドシートを共有する。
~
~
2.1 共有~
自身のgoogleドライブから新規でスプレッドシートを作成する。~
適当に作ったgoogleのスプレッドシートの共有を選択し、先ほどのアドレスを追加する。~
ここのアドレスとは、28.PNGのメールアドレスっぽいやつである。この際に編集者として設定する。
#ref(30.PNG,,60%)
~
~
2.2 スクリプトエディタ~
スプレッドシートの[ツール]、[スプリクトエディタ]を開き、以下のコードを書き込む。
~
 
 function doPost(e) {
  var ss = SpreadsheetApp.getActive()
  //下の2行はどっちでもOK 2つ目はシート一枚目という意味
  //de.kore.naniyo
  //var sheet = ss.getActiveSheet();
  var sheet1 = ss.getSheets()[0];
  var sheet2 = ss.getSheets()[1];
   
  
  var jsonString = e.postData.contents;
  //jsonString = jsonString.replace('\\','');
  //jsonString = jsonString.replace(/\}\"/,'\}');
  var data = JSON.parse(jsonString).toString();
//  sheet.appendRow(["そのまま",jsonString]);
//  sheet.appendRow([data]);
//  sheet.appendRow(["パース",typeof(data)]);
  var data2 = JSON.parse(data);
// var last=sheet.getRange("A:A").getLastRow();
  if (data2.key1){
    sheet1.appendRow([data2.key1.nowtime,data2.key1.bio_data,data2.key1.camera]);
    sheet1.appendRow([data2.key2.nowtime,data2.key2.bio_data,data2.key2.camera]);
    sheet1.appendRow([data2.key3.nowtime,data2.key3.bio_data,data2.key3.camera]);
    sheet1.appendRow([data2.key4.nowtime,data2.key4.bio_data,data2.key4.camera]);
    sheet1.appendRow([data2.key5.nowtime,data2.key5.bio_data,data2.key5.camera]);
    sheet1.appendRow([data2.key6.nowtime,data2.key6.bio_data,data2.key6.camera]);
    sheet1.appendRow([data2.key7.nowtime,data2.key7.bio_data,data2.key7.camera]);
    sheet1.appendRow([data2.key8.nowtime,data2.key8.bio_data,data2.key8.camera]);
    sheet1.appendRow([data2.key9.nowtime,data2.key9.bio_data,data2.key9.camera]);
    sheet1.appendRow([data2.key10.nowtime,data2.key10.bio_data,data2.key10.camera]);
    sheet1.appendRow([data2.key11.nowtime,data2.key11.bio_data,data2.key11.camera]);
    sheet1.appendRow([data2.key12.nowtime,data2.key12.bio_data,data2.key12.camera]);
    sheet1.appendRow([data2.key13.nowtime,data2.key13.bio_data,data2.key13.camera]);
    sheet1.appendRow([data2.key14.nowtime,data2.key14.bio_data,data2.key14.camera]);
    sheet1.appendRow([data2.key15.nowtime,data2.key15.bio_data,data2.key15.camera]);
    sheet1.appendRow([data2.key16.nowtime,data2.key16.bio_data,data2.key16.camera]);
    sheet1.appendRow([data2.key17.nowtime,data2.key17.bio_data,data2.key17.camera]);
    sheet1.appendRow([data2.key18.nowtime,data2.key18.bio_data,data2.key18.camera]);
    sheet1.appendRow([data2.key19.nowtime,data2.key19.bio_data,data2.key19.camera]);
    sheet1.appendRow([data2.key20.nowtime,data2.key20.bio_data,data2.key20.camera]);
    sheet1.appendRow([data2.key21.nowtime,data2.key21.bio_data,data2.key21.camera]);
    sheet1.appendRow([data2.key22.nowtime,data2.key22.bio_data,data2.key22.camera]);
    sheet1.appendRow([data2.key23.nowtime,data2.key23.bio_data,data2.key23.camera]);
    sheet1.appendRow([data2.key24.nowtime,data2.key24.bio_data,data2.key24.camera]);
    sheet1.appendRow([data2.key25.nowtime,data2.key25.bio_data,data2.key25.camera]);
    sheet1.appendRow([data2.key26.nowtime,data2.key26.bio_data,data2.key26.camera]);
    sheet1.appendRow([data2.key27.nowtime,data2.key27.bio_data,data2.key27.camera]);
    sheet1.appendRow([data2.key28.nowtime,data2.key28.bio_data,data2.key28.camera]);
    sheet1.appendRow([data2.key29.nowtime,data2.key29.bio_data,data2.key29.camera]);
    sheet1.appendRow([data2.key30.nowtime,data2.key30.bio_data,data2.key30.camera]);
  }
  if(data2.mickey){
    sheet2.appendRow([data2.mickey.nowtime,data2.mickey.mic]);
  }
 }



#ref(コード.txt,,インデント的にうまくいかなかったらこっち)
~
~
**3.サブスクリプション [#l33fee6c]
なんかもうよくわかんないけど定期的にサブスクリプションキーを更新しなければなりません~
[[アズールのページ>https://azure.microsoft.com/ja-jp/features/azure-portal/]]の右上の「ポータル」から自分のアカウント(学校のがあるやろ)でログイン~
「キーとエンドポイント」からサブスクリプションキーを生成する。~
なぜかこれを動かなくなったら更新しといて~
私のキャパは限界なのでいい感じに負担減るようにして(なんかに登録?)
~
~
準備完了

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS