마치 건강 관리 앱 데이터를 Google 스프레드 시트에 저장합시다.

14517 단어 iOSGoogleAppsScript

소개



이 기사는 마이니치 컨디션 관리 앱의 JSON 데이터 출력 기능을 사용하여,
Google 스프레드시트에 컨디션 데이터를 저장하는 단계를 설명합니다.
Google 스프레드 시트에 저장하는 것은 Google App Script를 사용합니다.

Google 스프레드시트 및 App Script



Google 스프레드시트를 사용하려면 Google 계정이 필요합니다.
계정이 없는 경우는 미리 취득해 두자.
Gmail을 사용하는 경우 계정이 Google 계정입니다.

Google 스프레드시트 만들기



우선은 Google 드라이브 에 액세스한다.
왼쪽 상단의 새 버튼을 클릭하고 'Google 스프레드시트'를 선택합니다.
스프레드 시트 화면이 표시되므로 "도구"의 "스크립트 편집기"를 클릭합니다.

스프레드 시트 이름은 "마이니치 컨디션 관리"로 변경됩니다. 1

Google App Script 프로그램 만들기



Google App Script 화면으로 전환되므로 스크립트의 이름을 바꿉니다.
여기서는 편의상 "HealthCare"로 변경했다.


HealthCare.gs 프로그램은 Gist 의 소스 코드를 그대로 복사하여 붙여넣기만 하면 됩니다.

HealthCare.gs
function doPost(e) {
  var status = 0
  let jsonString = e.postData.getDataAsString()
  let json = JSON.parse(jsonString)
  if (json.date) {
    let year = json.date.year
    let month = ('00' + json.date.month).slice(-2)
    let day = ('00' + json.date.day).slice(-2)
    let sheetName = year + month

    let spreadsheet = SpreadsheetApp.getActiveSpreadsheet()
    var sheet = spreadsheet.getSheetByName(sheetName)
    if (!sheet) {
      spreadsheet.insertSheet(sheetName)
      sheet = spreadsheet.getActiveSheet()
      sheet.appendRow([
        "日付","時間帯","体温",
        "","鼻水","","息切れ","喉の痛み","眼の痛み","筋肉痛","頭痛",
        "下痢","嘔吐","倦怠感","におい","","解熱剤の服用"
      ])
    }
    let dateString = year + '/' + month + '/' + day
    for (const condition of json.conditions) {
      sheet.appendRow([ 
        dateString, condition.time_zones, condition.body_temperature,
        condition.cough, condition.runny_nose, condition.phlegm, condition.breathless,
        condition.sore_throat, condition.eye_pain, condition.muscle_pain, condition.headache,
        condition.diarrhea, condition.vomiting, condition.malaise, condition.smell, condition.taste,
        condition.antipyretic
      ])
    }
  }
  else {
    status = 500
  }
  const result = {
    "status": status
  }
  const response = JSON.stringify(result)
  return ContentService.createTextOutput(response).setMimeType(ContentService.MimeType.JSON)
}

프로젝트명도 '마이니치 컨디션 관리'로 변경했다. 2
순서대로 진행하고 있으면, 다음과 같은 화면이 된다.


이 스크립트는 자동으로 年月のシート를 작성하므로 달이 바뀌어도 스프레드 시트 측에서 조작을 할 필요는 없습니다.

Google App Script 게시



메뉴에서 '공개'를 클릭하고 '웹 애플리케이션으로 배포'를 선택합니다.

공개용의 설정 화면이 표시되므로, 다음 화면과 같이 설정한다.
Who has access to the app의 항목을 Anyone, even anonymous로 설정했으므로 URL을 아는 사용자는 누구나 액세스 할 수 있으므로주의가 필요합니다. 3
필요한 설정이 완료되면 [업데이트] 버튼을 클릭합니다.
「Current web app URL」の内容をコピーしておく。

마이니치 컨디션 관리 앱 설정



복사한 URL을 앱으로 설정합니다.

URL의 script.google.comホスト名로 설정합니다./macros/s/... 이후를 API のパス名 로 설정한다.SSL通信オン 로 한다.
앱에 붙여 넣을 때는 메모 앱 등을 사용하여 호스트 이름과 경로 이름으로 분리하고 작업하면 비교적 편하게 할 수 있다고 생각한다.

업로드 동작 확인



앱의 컨디션 관리 화면의 날을 탭하고 오른쪽 상단의 아이콘을 탭합니다.全データを JSON 形式で送信 을 탭합니다.


작성한 Google 스프레드시트에 제출한 연월일의 데이터가 기록되어 있으면 성공.


Google 스프레드시트에 데이터가 기록되므로 나머지는 자유롭게 가공하면 된다.

결론



마이니치 컨디션 관리 앱 데이터를 Google App Script를 사용하여 Google 스프레드시트에 저장하는 방법을 설명했습니다.
여기에서 소개한 Google App Script는 조금 수정하는 것만으로 다른 용도에도 응용할 수 있다고 생각한다.
Google App Script를 처음 사용했지만, 데이터 기록계의 앱의 백엔드로도 이용할 수 있을 것 같다고 느꼈다.

또, 마이니치 컨디션 관리 앱의 JSON 데이터를 자작 서버로 수신하고 싶은 경우는, GitHub 에 샘플 코드가 있으므로 참조해 주세요. node.js와 express를 사용한 코드입니다.



좋아하는 스프레드 시트 이름으로 해도 문제 없어.

좋아하는 프로젝트 이름으로 해도 문제 없어.
only myself 를 지정하면 토큰 관계에 대한 설명이 필요하고 번거롭기 때문에 간단한 방법을 소개했다.

좋은 웹페이지 즐겨찾기