
Google Apps Scriptéçºã®7ã€ã®éåãéãšã³ãžãã¢ã§ãå®å šã»å¹ççã«æ¥åèªååãå®çŸããå®è·µã¬ã€ãã
ã¯ããã«ïŒãªãä»ãéãšã³ãžãã¢ãGASãåŠã¶ã¹ããªã®ã
ããªãã¯ãããªæ©ã¿ãæ±ããŠããŸãããïŒ
æ¯æ¥åãExceläœæ¥ã«æéãåãããŠãã
宿çãªã¬ããŒãäœæãé¢å
Slackãžã®éç¥ãèªååããã
ã§ãããã°ã©ãã³ã°ã¯é£ããã...
ãšã³ãžãã¢ã«é Œãã»ã©ã§ããªãã...
ãã®æ©ã¿ãGoogle Apps ScriptïŒGASïŒã§è§£æ±ºã§ããŸãïŒ
GASãããªãã®æ¥åãå€ãã3ã€ã®çç±
1. ç¡æã§ä»ããå§ãããã
Googleã¢ã«ãŠã³ãããããã°ã远å è²»çšãªã
ãµãŒããŒäžèŠãç°å¢æ§ç¯äžèŠ
ãã©ãŠã¶ã ãã§éçºã§ãã
2. 身è¿ãªGoogleãµãŒãã¹ãšé£æº
ã¹ãã¬ããã·ãŒããGmailãã«ã¬ã³ããŒããã©ã€ã
æ®æ®µäœ¿ã£ãŠããããŒã«ããã®ãŸãŸèªååã§ãã
å€éšãµãŒãã¹ïŒSlackãChatWorkçïŒãšã飿ºå¯èœ
3. ChatGPT/Claudeãšã®çžæ§ãæçŸ€
AIã«æç€ºããã ãã§ã³ãŒããçæãããæä»£
ã§ããAIãçæããã³ãŒãããã®ãŸãŸäœ¿ãã®ã¯å±éº...
ã ããããããã®ã7ã€ã®éåããå¿ èŠãªã®ã§ã
ãã®noteãèªããšã§ããããã«ãªãããš
ð¯ 3ã¶æåŸã®ããªãã®å§¿
å®å šãªèªååããŒã«ãäœãã
APIããŒãé©åã«ç®¡çããæ å ±æŒæŽ©ãé²ãã
ä»ã®äººã䜿ããããUIãå®è£ ã§ãã
AIã峿¹ã«ã€ããŠå¹ççã«éçº
ChatGPT/Claudeã«é©åãªæç€ºãåºãã
çæãããã³ãŒãã®è¯ãæªãã倿ã§ãã
ä¿å®ã»æ¹åãã§ãã
ããŒãžã§ã³ç®¡çã§å®å¿ããŠä¿®æ£ã§ãã
ãšã©ãŒãèµ·ããŠãèªåã§å¯ŸåŠã§ãã
ð å®éã®ææäºäŸ
ãæ¯æ2æéããã£ãŠãã売äžéèšãããã¿ã³1ã€ã§5åã«ççž®ãæµ®ããæéã§æ°èŠäºæ¥ã®äŒç»ã«éäžã§ããããã«ãªããŸãããïŒAããïŒ
ããšã³ãžãã¢ããŒã ã«é Œãã§ãã宿ã¬ããŒããèªåã§èªååãäŸé Œã®æéããªããªããã«ã¹ã¿ãã€ãºãèªç±èªåšã«ãïŒBããïŒ
ãªãã7ã€ã®éåããå¿ èŠãªã®ã
â ïž ãããã倱æãã¿ãŒã³
倱æäŸ1ïŒã»ãã¥ãªãã£äºæ
// â APIããŒãçŽæ¥ã³ãŒãã«æžããŠããŸã
const API_KEY = "sk-abc123..."; // å±éºïŒGitHubã«å
¬éããã倧å€ãªããšã«
倱æäŸ2ïŒäœ¿ãã«ããããŒã«
// â ã¹ã¯ãªãããšãã£ã¿ã§ããå®è¡ã§ããªã
function myFunction() {
// ä»ã®äººã¯äœ¿ãæ¹ãããããªã...
}
倱æäŸ3ïŒã¡ã³ããã³ã¹å°ç
ã©ããä¿®æ£ãããåãããªã
åã®ããŒãžã§ã³ã«æ»ããªã
ãšã©ãŒã®åå ãç¹å®ã§ããªã
âš éåãå®ãããšã§åŸãããã¡ãªãã
ã»ãã¥ãªãã£ïŒæ©å¯æ å ±ã®æŒæŽ©ãé²ãã
䜿ããããïŒããŒã å šå¡ã䜿ãã
ä¿å®æ§ïŒ1幎åŸã®èªåã§ãçè§£ã§ãã
å¹çæ§ïŒAIããŒã«ãšã®é£æºã§éçºé床10å
ãã®noteã®äœ¿ãæ¹
ð æ§æãšèªã¿æ¹
åéåã®è§£èª¬
ãªãéèŠãªã®ãïŒèæ¯ã»ãªã¹ã¯ïŒ
å ·äœçãªå®è£ æ¹æ³ïŒã³ãŒãäŸïŒ
ããããééããšå¯Ÿç
AI掻çšããã³ããé
åéåã«å¯Ÿå¿ããChatGPT/Claudeçšããã³ãã
ã³ããã§äœ¿ããå®è·µçãªæç€ºæ
çæãããã³ãŒãã®ãã§ãã¯ãã€ã³ã
çµ±åã·ã¹ãã ããã³ãã
7ã€ã®éåããã¹ãŠæºãããã¹ã¿ãŒããã³ãã
ãã1ã€ã§ããçŽã®ã³ãŒããçæ
ð åŠç¿ã®é²ãæ¹
åçŽè ã®æ¹ïŒããã°ã©ãã³ã°æªçµéšïŒ
ãŸã第1æ¡ã第3æ¡ãå®è·µ
åããã®ãäœã£ãŠã¿ã
æ £ããã第4æ¡ä»¥éã«ãã£ã¬ã³ãž
äžçŽè ã®æ¹ïŒå°ãGASçµéšããïŒ
èªåã®ã³ãŒãã7ã€ã®éåã§ãã§ãã¯
è¶³ããªãéšåãè£åŒ·
ããŒã ã«å±é
ð¡ 广çãªæŽ»çšæ¹æ³
ãŸãã¯ç䌌ãã
ãµã³ãã«ã³ãŒããã³ããããŠåãã
å°ããã€ã«ã¹ã¿ãã€ãº
AIãšäžç·ã«åŠã¶
ããã³ããã䜿ã£ãŠã³ãŒãçæ
ãªããããªãã®ã質åãã
å®åã§å³å®è·µ
å°ããªèªååããå§ãã
æåäœéšãç©ã¿éãã
èè ããïŒéãšã³ãžãã¢ããGASãåŠã¶ã¹ãçç±
ç§èªèº«ãå ã ã¯å¶æ¥è·ã§ããã°ã©ãã³ã°ãšã¯ç¡çžã§ãããããããæ¥ã ã®ç¹°ãè¿ãäœæ¥ã«çåãæããGASãåŠã³å§ããŸããã
æåã¯ç°¡åãªãã¯ããããæ¬¡ç¬¬ã«è€éãªèªååããŒã«ãäœããããã«ãªããä»ã§ã¯ç€Ÿå ã®DXæšé²ãªãŒããŒãšããŠæŽ»åããŠããŸãã
倧åãªã®ã¯ãå®ç§ãªã³ãŒããã§ã¯ãããŸããã ãåããŠã圹ã«ç«ã€ã³ãŒããã§ãã
ãã®7ã€ã®éåã¯ãç§ã3幎éã§100å以äžã®ããŒã«ãäœãäžã§åŠãã ã転ã°ã¬å ã®æãã§ããããããå®ãã°ãããªããå¿ ã䟡å€ããããŒã«ãäœããããã«ãªããŸãã
ããã§ã¯ãããªãã®æ¥åãåçã«å¹çåããæ ãå§ããŸãããïŒ
ãããŸã§ã»ãããŒã50å以äžãã£ãŠããŠãåŒå20人以äžã«åå¥ã§æããçŸåšã®ãã¹ããã©ã¯ãã£ã¹ããŸãšããŸããããã¯ãå¿ é ã§ãã pic.twitter.com/R2TACLzoQv
â ããããã@Notionå ¬åŒã¢ã³ããµããŒïœsattoå ¬åŒãšãã³ãžã§ãªã¹ã (@keitaro_aigc) July 24, 2025
æ¬ç·šïŒGoogle Apps Scriptéçºã®7ã€ã®éå
第1æ¡ïŒAPIããŒãã·ãŒã¯ã¬ããããŒã¯ã³ã¯ã¹ã¯ãªããããããã£ã«ä¿åããã³ãŒããžçŽæžãããªã
ãªããããæéèŠãªã®ã
æ³åããŠãã ãããããªããäœã£ã䟿å©ãªããŒã«ã®ã³ãŒããååã«å ±æãããšããŸãããã®äžã«ããããªã³ãŒããå«ãŸããŠããã...
// â 絶察ã«ãã£ãŠã¯ãããªãäŸ
const OPENAI_API_KEY = "sk-abc123xyz..."; // æ¬ç©ã®APIããŒ
const SLACK_TOKEN = "xoxb-1234567..."; // æ¬ç©ã®ããŒã¯ã³
äœãèµ·ãããïŒ
APIããŒãæŒæŽ© â 第äžè ã«æªçšããã
é«é¡ãªè«æ±ãçºçããå¯èœæ§
äŒç€Ÿã®æ©å¯æ å ±ãæµåºãããªã¹ã¯
å®éãGitHubã«èª€ã£ãŠAPIããŒãå ¬éããŠããŸããæ°æéã§æ°çŸäžåã®è¢«å®³ãåºãäºäŸããããŸãã
æ£ããå®è£ æ¹æ³
// â
å®å
šãªå®è£
äŸ
function getApiKey() {
const scriptProperties = PropertiesService.getScriptProperties();
const apiKey = scriptProperties.getProperty('OPENAI_API_KEY');
if (!apiKey) {
throw new Error('APIããŒãèšå®ãããŠããŸãããèšå®ã¡ãã¥ãŒããç»é²ããŠãã ããã');
}
return apiKey;
}
function callOpenAI(prompt) {
const apiKey = getApiKey(); // ããããã£ããååŸ
const response = UrlFetchApp.fetch('https://api.openai.com/v1/chat/completions', {
method: 'post',
headers: {
'Authorization': `Bearer ${apiKey}`,
'Content-Type': 'application/json'
},
payload: JSON.stringify({
model: 'gpt-3.5-turbo',
messages: [{ role: 'user', content: prompt }]
})
});
return JSON.parse(response.getContentText());
}
ð€ AI掻çšããã³ãã
GASã§å€éšAPIãåŒã³åºããµã³ãã«ã³ãŒããäœæããŠãã ããã
以äžã®æ¡ä»¶ãæºãããŠãã ããïŒ
1. APIããŒã¯PropertiesService.getScriptProperties()ããååŸ
2. ããŒãçŽæžãããªãå®è£
3. APIããŒãæªèšå®ã®å Žåã®ãšã©ãŒãã³ããªã³ã°
4. try-catchã§APIåŒã³åºããšã©ãŒãé©åã«åŠç
5. åå¿è
ã§ãçè§£ããããæ¥æ¬èªã³ã¡ã³ãä»ã
6. Slackã«éç¥ãéãå
·äœäŸã§å®è£
远å ã§ãAPIããŒãå®å
šã«èšå®ããæé ã説æããŠãã ããã
ãããã質åãšåç
Q: ã¹ã¯ãªããããããã£ã¯ã©ãããèšå®ããã®ïŒ A: 第3æ¡ã§èª¬æããèšå®ç»é¢ãäœæããããã¹ã¯ãªãããšãã£ã¿ã®ããããžã§ã¯ãã®èšå®ãããæåã§èšå®ã§ããŸãã
Q: ããŒã ã§å ±æããå Žåã¯ïŒ A: åã¡ã³ããŒãèªåã®ç°å¢ã§APIããŒãèšå®ããŸããã³ãŒãã¯å ±æããŠããAPIããŒã¯å ±æããŸããã