Google Sheets API에서 읽고 쓸 수 있습니다.

안녕하세요
전혀 관계 없지만, 평소 vim에서 작업하고 있으면, Qiita라든지 GoogleAppsScript라든지 Web라든지라도 그만:w연타 버리는군요.
이것이있는 것일까?

지금까지 GoogleChat의 API를 사용해 왔습니다.
지금까지는 조금 시험이었지만 실제로 사용할 수있는 BOT로 해 나갈거야.
만들고 싶은 BOT는 이런 느낌이야.



고양이와 강아지와 우사에서 Help의 DM이 오면,
그 쓰레드에 대답을 하면, BOT로부터 고양이와 완짱이나 우사짱에게 대답을 해 주도록 하고 싶어.
있어 몸에 버리면 문의 접수해 주는 BOT군요.

스텝으로서는 이런 느낌일까.
1. BOT에 DM을 보내면 채팅방으로 전송됩니다. (
2. 대화방에서 사용자별 스레드 이름을 유지하고 동일한 사용자의 DM이 동일한 스레드에 기록됩니다.
3. 쓰레드에 로부터 기입을 하면, 대상의 유저에게 DM 가 보내진다.
4. (여력이 있으면) 자주 있는 질문 모음 같은 일람을 만들어 Bot가 자동 대답해 준다.

오늘부터는 2. 채팅방 내에서 유저마다의 thread명을 보관 유지해, 같은 유저로부터의 DM은 같은 thread에 기입해진다. 를 추진해 간다.

GoogleSheetAPI의 빠른 시작을 실행해 보세요.



스레드 분할에 필요한 정보를 GoogleSheet에서 관리하기로 하겠습니다.
그러기 위해서는 GoogleSheeaAPI에 자세하게 돼야 한다.

우선은 언제나처럼 공식 템플릿을 사용하여 API를 사용할 수 있는 곳까지 해보자.

Google Sheet API
htps : //에서 ゔぇぺぺrs. 오, ぇ. 코 m / 시에 ts / 아피

이 중, GoogleAppsScript 버전의 빠른 시작 를 움직여 보자.
거의 거의 공식대로이므로, 자세한 것은 쓰지 않지만, 가 걸렸던 곳만 전하겠네.

Step 1: Create the script
권한의 관계인지, 준비되어 있는 Sheet를 참조할 수 없었어. 내 드라이브에 복사본을 만들고 지정한 spreadsheetId를 변경했습니다.

Step 2: Turn on the Google Sheets API
특히 문제 없었어.

Step 3: Run the sample
실행하면 "ReferenceError: "Sheets"가 정의되지 않았습니다. at logNamesAndMajors(코드:165)'라는 오류가 발생했습니다.
공식적인 트러블 슈팅에도 쓰여 있었지만, GoogleAppsScript내에서 Sheet를 유효하게 해야 하는 것 같아요.

해당 script 리소스 > Google 확장 서비스 ..를 클릭합니다.


GoogleSheetAPI를 켜고 OK.


로 해소했어.

그래서, 음. 확실히 데이터를 가져왔다! 간단!


소스를 보면,
var values = Sheets.Spreadsheets.Values.get(spreadsheetId, rangeName).values;  

의 형식으로 특정 스프레드 시트의 특정 행의 값을 취하고있는 것을 알 수 있습니다.

값을 써 보자.



읽을 수 있었으므로, 다음은 기입해 보고 싶네요.
여기를 참고하겠습니다.

Appending values
htps : //에서 ゔぇぺぺrs. 오, ぇ. 코 m / 시에 ts / 아피 / 구이 s / ゔ ぅ 에 s # ぺん ぢ g_ ぁ ぅ s
function insertDateToSheet() {

  //挿入したいデータを書くよ。
  var values = [
    ["relaxed:)", "Male", "1. Freshman", "CA","Art","Track & Field"]
  ];

  // XXXXXXには書き込みたいスプレッドシートのIDをいれてね。URLのおしりだよ。
  var spreadsheetId = 'XXXXXXXX';

  var valueRange = Sheets.newRowData();
  valueRange.values = values;

  var appendRequest = Sheets.newAppendCellsRequest();
  appendRequest.sheetId = spreadsheetId;
  appendRequest.rows = [valueRange];

  //新しい行を挿入したいシートの名前を設定するよ。  
  var range = 'test';

  var result = Sheets.Spreadsheets.Values.append(valueRange, spreadsheetId,range , {
    // ROW か USER_ENTEREDをセットするよ。 ROWだとValuesの値がそのまま、
USER_ENTEREDだと数式は数式として実行されるよ。
    //Valuesで["Totals", "=SUM(B2:B4)", "=SUM(C2:C4)", "=MAX(D2:D4)"]とかセットしたい場合は、USER_ENTEREDにするよ。
    valueInputOption: "ROW"
  });
}


이것을 실행해, 네.



추가되었습니다!

오늘은 여기까지!
다음 번에는 ChatAPI와 함께 작동하여 Message 정보를 스프레드 시트에서 관리 할 수 ​​있습니다.

참고로 한 것



Google Sheet API

는 공식과 샘플 코드를 사랑하기 때문에. 감사합니다.

좋은 웹페이지 즐겨찾기