

ラズパイ側のスクリプト  
・一応以下、スプレットシートとの連携はOK  
・dataの取得もスクリプト実行する度にできている

怪しい点としては、GoogleスプレットシートのGASを使用したときにAPIが叩ける設定になっているかは不明  
一応APIの設定とかは行ったが。。。

[code]

    ~
    if scanner.delegate.sensorValue is not None:
        #デバイス名
        deviceName = 'EP-BL01'#←スプレッドシートのシート名と同じ名前にする
        #POSTするデータ
        data = {
            'DeviceName': deviceName,
            'Date_Master': str(masterDate),
            'Date': str(date),
            'SensorType': str(scanner.delegate.sensorValue['SensorType']),
            'Temperature': str(scanner.delegate.sensorValue['Temperature']),
            'Humidity': str(scanner.delegate.sensorValue['Humidity']),
            'Light': str(scanner.delegate.sensorValue['Light']),
            'UV': str(scanner.delegate.sensorValue['UV']),
            'Pressure': str(scanner.delegate.sensorValue['Pressure']),
            'Noise': str(scanner.delegate.sensorValue['Noise']),
            'BatteryVoltage': str(scanner.delegate.sensorValue['BatteryVoltage'])
        }
        #a = {'DeviceName': 'EP-BL01', 'Date_Master': '2020-08-17 21:56:00', 'Date': '2020-08-17 21:56:02.561509', 'SensorType': 'EP', 'Temperature': '28.06', 'Humidity': '65.81', 'Light': '0', 'UV': '0.02', 'Pressure': '1007.8', 'Noise': '40.51', 'BatteryVoltage': '2.9'}
        APIのURL
        #url = 'https://script.google.com/macros/s/*************/exec'
        #APIにデータをPOST
        response = requests.post(url, data=data)
    
[/code]

スプレットシート(GAS)スクリプトは以下  
・こちらのシートが全く反応しない  
・WEBAPIの設定なのか、以下のスクリプトなのでか、原因不明です

[code]

    var spreadsheetId = '***********************'//←スプレッドシートのID
    
    //Postされたデータを受け取り
    function doPost(e){
      var data = [
        e.parameter.Date_Master, // マスター日時     
        e.parameter.Date, // 測定日時    
        e.parameter.Temperature, // 気温    
        e.parameter.Humidity, // 湿度    
        e.parameter.Light, // 照度    
        e.parameter.UV, // UV    
        e.parameter.Pressure, // 圧力    
        e.parameter.Noise, // 騒音    
        e.parameter.BatteryVoltage, // 電池電圧    
        new Date(), // アップロード終了時刻    
      ];
      //取得したデータをログに記載
      Logger.log(new Date());
      //スプレッドシートへのデータ行書き込み
      addData(e.parameter.DeviceName, data);
      return ContentService.createTextOutput("ok");
    }
    
    //スプレッドシートへのデータ行書き込み
    function addData(sheetName, data){
      var sheet = SpreadsheetApp.openById(spreadsheetId).getSheetByName(sheetName);
      sheet.appendRow(data);
    }
    
[/code]

以上です。よろしくお願いします。


CC BY-SA 4.0
2020-08-17T21:54:40.797
69639
2020-08-17T21:54:40.797
38096
question
python google-api google-spreadsheet
センサーから取得したデータをスプレットシート(GAS)のWEBAPI経由でデータを書き込みたいけど、反応しない