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
는 공식과 샘플 코드를 사랑하기 때문에. 감사합니다.
Reference
이 문제에 관하여(Google Sheets API에서 읽고 쓸 수 있습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/akky-tys/items/ae48e2ea3b1dfbf8e962텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)