Created
July 30, 2018 09:13
-
-
Save ha-kun/3c04eabefc5ba25b97f22404b48f4468 to your computer and use it in GitHub Desktop.
筋トレ記録用gas
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//フォームが送信されたら実行 | |
function onFormSubmit(e) { | |
postToTwitter(); | |
} | |
//Twitterに送信 | |
function postToTwitter(){ | |
tweet(); | |
} | |
var API_KEY = PropertiesService.getScriptProperties().getProperty('API_KEY'); | |
var API_SECRET = PropertiesService.getScriptProperties().getProperty('API_SECRET'); | |
/* サービスの設定 */ | |
function getService() { | |
return OAuth1.createService('Twitter') | |
.setAccessTokenUrl('https://api.twitter.com/oauth/access_token') | |
.setRequestTokenUrl('https://api.twitter.com/oauth/request_token') | |
.setAuthorizationUrl('https://api.twitter.com/oauth/authorize') | |
.setConsumerKey(API_KEY) | |
.setConsumerSecret(API_SECRET) | |
.setCallbackFunction('authCallback') | |
.setPropertyStore(PropertiesService.getUserProperties()); | |
} | |
/* コールバック関数 */ | |
function authCallback(request) { | |
var service = getService(); | |
var authorized = service.handleCallback(request); | |
if (authorized) return HtmlService.createHtmlOutput('認証成功'); | |
} | |
/* 認証リセット */ | |
function reset() { | |
getService().reset(); | |
} | |
/* 認証用URL */ | |
function getOAuthURL() { | |
Logger.log(getService().authorize()); | |
} | |
/* リクエスト */ | |
function request1(text) { | |
var service = getService(); | |
if (service.hasAccess()) { | |
var url = 'https://api.twitter.com/1.1/statuses/update.json'; | |
var payload = { | |
status: text | |
}; | |
var options = { | |
method: 'post', | |
payload: payload, | |
escaping: false | |
}; | |
var response = service.fetch(url, options); | |
var result = JSON.parse(response.getContentText()); | |
Logger.log(JSON.stringify(result, null, 2)); | |
return result; | |
} | |
} | |
function getEditedRowData(){ | |
//1. 現在のスプレッドシートを取得 | |
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet(); | |
//2. 現在のシートを取得 | |
var sheet = spreadsheet.getActiveSheet(); | |
//シートに記載されている最終行を取得 | |
var ALastRow = sheet.getLastRow(); | |
//シートに記載されている最終行のテキストを取得 | |
var editedRowData = sheet.getSheetValues(ALastRow, 1, 1, sheet.getLastColumn()); | |
//ログに出力 | |
Logger.log(editedRowData); | |
// 部位 | |
Logger.log(editedRowData[0][2]); | |
// 回数 | |
Logger.log(editedRowData[0][3]); | |
var trainingMenu; | |
for (var i = 4; i < 16; i++) { | |
if (editedRowData[0][i] != '') { | |
// メニュー | |
Logger.log(editedRowData[0][i]); | |
trainingMenu = editedRowData[0][i]; | |
} | |
} | |
return trainingMenu + 'を' + editedRowData[0][3] + '回して' + editedRowData[0][2] + 'を筋トレした!!' | |
} | |
function tweet(){ | |
request1(getEditedRowData()); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment