Google Apps Script恧複ꕰ恮OAuthčŖčØ¼ć‚’ē®”ē†ć™ć‚‹ć€GAS怑

ę„­å‹™ć§Google Apps Script悒ä½æć†éš›ć«ć€å„ēØ®ć‚¦ć‚§ćƒ–ć‚µćƒ¼ćƒ“ć‚¹ć®ę“ä½œć‚’č”Œć†ć«ć‚ćŸć£ć¦ćÆ悂ćÆć‚„å½“ćŸć‚Šå‰ć«ćŖć£ć¦ć‚‹OAuth2.0čŖčØ¼ć‚’ć—ć¦ćƒŖć‚Æć‚Øć‚¹ćƒˆć‚’ęŠ•ć’ć‚‹ę‰‹ę³•ć€‚ćƒ©ć‚¤ćƒ–ćƒ©ćƒŖ悒ä½æć£ć¦å®Ÿē¾ć—ć¾ć™ćŒć€åŸŗęœ¬ēš„恫ćÆļ¼‘ć¤ć®ć‚µćƒ¼ćƒ“ć‚¹ć«åÆ¾ć—ć¦ć—ć‹åƾåæœć—ć¦ć„ć¾ć›ć‚“ć€‚č¤‡ę•°ć®ć‚¦ć‚§ćƒ–ć‚µćƒ¼ćƒ“ć‚¹ć‚’ęØŖę–­ć—ć¦ć‚„ć‚Šå–ć‚Šć™ć‚‹ć«ćÆć€å·„å¤«ćŒåæ…要恧恙怂

今回ćÆćć‚Œć‚’å®Ÿē¾ć™ć‚‹ę‰‹ę³•ć‚’ć¾ćØć‚ć¾ć—ćŸć€‚ć¾ćŸć€č¤‡ę•°ć‚µćƒ¼ćƒ“ć‚¹ć®ćƒ¦ćƒ¼ć‚¶äø€č¦§ć‚’1ęžšć«ć¾ćØć‚ć‚‹ę–¹ę³•ć«ć¤ć„ć¦ć‚‚čæ½čØ˜ć—ć¦ć„ć¾ć™ć€‚

今回利ē”Øć™ć‚‹ć‚¹ćƒ—ćƒ¬ćƒƒćƒ‰ć‚·ćƒ¼ćƒˆ

ć“ć‚Œć¾ć§ć‚‚å–ć‚ŠäøŠć’ć¦ććŸOAuth2.0čŖčØ¼ć‚’č”Œć†ć‚‚ć®ćŖć®ć§ć™ćŒć€åŒę™‚ć«č¤‡ę•°ć®ć‚µćƒ¼ćƒ“ć‚¹ć«åÆ¾ć—ć¦čŖčØ¼ć‚’ć—ć¦ć€å€‹åˆ„ć«ćć‚Œć‚‰ć«é–¢ć™ć‚‹čŖčØ¼ęƒ…å ±ć‚’ć‚­ćƒ¼ćƒ—ć—ć¦ć€ä½æć†éš›ć«ęŸ”č»Ÿć«å–ć‚Šå‡ŗć›ć‚‹ć‚ˆć†ć«ć™ć‚‹åæ…č¦ćŒć‚ć‚Šć¾ć™ć€‚

äŗ‹å‰ęŗ–å‚™

GASå“ć®ęŗ–å‚™

仄äø‹ć®ę‰‹é †ć§OAuth2 library for Google Apps Scriptćƒ©ć‚¤ćƒ–ćƒ©ćƒŖ悒čæ½åŠ ć—ć¾ć—ć‚‡ć†ć€‚

  1. ć‚¹ć‚ÆćƒŖ惗惈ć‚Øćƒ‡ć‚£ć‚æć‚’é–‹ćć¾ć™ć€‚
  2. ć‚µć‚¤ćƒ‰ćƒćƒ¼ć‚ˆć‚Šć‚ˆć‚Šć€Œćƒ©ć‚¤ćƒ–ćƒ©ćƒŖć€ć®ļ¼‹ćƒœć‚æćƒ³ć‚’ć‚ÆćƒŖ惃ć‚Æ
  3. ćƒ©ć‚¤ćƒ–ćƒ©ćƒŖ悒čæ½åŠ ę¬„ć«ć€Œ1B7FSrk5Zi6L1rSxxTDgDEUsPzlukDsi4KGuTMorsTQHhGBzBkMun4iDF怍悒čæ½åŠ ć—ć¾ć™ć€‚
  4. 今回ćÆćƒćƒ¼ć‚øćƒ§ćƒ³ćÆ43悒éøꊞ恗恦ćæć¾ć™ć€‚
  5. äæå­˜ćƒœć‚æćƒ³ć‚’ęŠ¼ć—ć¦å®Œäŗ†

恓悌恧态OAuth2.0čŖčØ¼ć«ć¾ć¤ć‚ć‚‹ę§˜ć€…ćŖé–¢ę•°ć‚’ę‰‹č»½ć«åˆ©ē”Øć§ćć‚‹ć‚ˆć†ć«ćŖć‚Šć¾ć™ć€‚

図ļ¼šćƒ©ć‚¤ćƒ–ćƒ©ćƒŖ悒čæ½åŠ ć—ćŸę§˜å­

č¤‡ę•°ć‚µćƒ¼ćƒ“ć‚¹ć®čŖčØ¼ęƒ…å ±ćƒ•ć‚”ć‚¤ćƒ«

ć‚¹ć‚ÆćƒŖćƒ—ćƒˆćƒ—ćƒ­ćƒ‘ćƒ†ć‚£ć«äæå­˜ć—恦悂č‰Æć„ć®ć§ć™ćŒć€ä»Šå›žćÆč¤‡ę•°ć®ć‚¦ć‚§ćƒ–ć‚µćƒ¼ćƒ“ć‚¹ć®Client ID悄Secret态ćƒŖć‚Æć‚Øć‚¹ćƒˆURLćŖ恩悒äø€ēŗć‚ć«ć—ćŸoauth.jsonćØć„ć†ćƒ•ć‚”ć‚¤ćƒ«ć‚’ä½œęˆć—ć€ćƒ‰ćƒ©ć‚¤ćƒ–ć«é…ē½®ć—ć¦ćć®ęƒ…å ±ć‚’å–å¾—ć—ć¦ä½æć†ć‚ˆć†ć«ć—ć¦ć‚ć‚Šć¾ć™ć€‚

oauth.jsonć®ä»•ę§˜ćÆ仄äø‹ć®ć‚ˆć†ćŖę„Ÿć˜ć€‚åˆ©ē”Øć™ć‚‹ć‚¦ć‚§ćƒ–ć‚µćƒ¼ćƒ“ć‚¹ć«ć‚ˆć£ć¦ćÆ項ē›®ćŒå¢—ćˆć‚‹ćØę€ć†ć®ć§ć€ćć®ćø悓悒äøŠę‰‹ćć¾ćØć‚ć¦ćŠćć¾ć—ć‚‡ć†ć€‚

今回ćÆ2ć¤ć®ć‚¦ć‚§ćƒ–ć‚µćƒ¼ćƒ“ć‚¹ć€‚ę®†ć©ä¼¼ć¦ć„ć‚‹ć®ć§ć™ćŒć€webex恠恑orgId恌åæ…要ćŖ恮恧čæ½åŠ ć—ć¦ć„ć¾ć™ć€‚ć¾ćŸć€ć‚¦ć‚§ćƒ–ć‚µćƒ¼ćƒ“ć‚¹ć«ć‚ˆć£ć¦ćÆ当ē„¶scopećØć„ć†ć‚‚ć®ćŒćŖć‹ć£ćŸć‚Šć™ć‚‹ć®ć§ć€ć‚µćƒ¼ćƒ“ć‚¹ęÆŽć«ćć”ć‚“ćØå€¤ć‚’å…„ć‚ŒćŸć‚Šå¤–ć—ćŸć‚ŠćŒåæ…č¦ć§ć™ć€‚ć“ć®ćƒ•ć‚”ć‚¤ćƒ«ć‚’čŖ­ćæč¾¼ć‚“ć§åˆ©ē”Øć—ć¾ć™ć€‚

ć‚½ćƒ¼ć‚¹ć‚³ćƒ¼ćƒ‰

čŖčØ¼ć‚’č”Œć†ćƒ•ćƒ­ćƒ¼

čŖčØ¼ć«ē”Ø恄悋oauth.jsonćƒ•ć‚”ć‚¤ćƒ«ć®IDć‚’å†’é ­ć«čؘčæ°ć—ć¦ćŠćć€ćć‚Œćžć‚Œć®ć‚µćƒ¼ćƒ“ć‚¹čŖčؼē”Ø恫startoauthć‚’å‘¼ć³å‡ŗć™é–¢ę•°ć‚’ē”Øę„ć—ć¦ćŠćć€‚startoauthé–¢ę•°ćÆå¼•ę•°ć§ć‚µćƒ¼ćƒ“ć‚¹åć‚’å—ć‘å–ć£ć¦å‡¦ē†ć‚’ć™ć‚‹ć‚ˆć†ć«ä½œć£ć¦ćŠćć€‚

å®Ÿéš›ć«čŖčØ¼ć‚’ć™ć‚‹å“ć®ć‚³ćƒ¼ćƒ‰ć‚‚ć“ć‚Œć¾ć§ć®ć‚³ćƒ¼ćƒ‰ć‚ˆć‚Šć‚‚å·„å¤«ćŒåæ…要恧恙怂

  • startoauth态reset恧ćÆtempauthć®ćƒ—ćƒ­ćƒ‘ćƒ†ć‚£ć®å€¤ć‚’ć‚µćƒ¼ćƒ“ć‚¹åć§ę›øćę›ćˆć¦ćŠćć€‚
  • authpage态authCallbackćÆē‰¹ć«å¤‰ę›“ćŖ恗
  • checkOAuth恧ćÆå‘¼ć³å‡ŗć™ć‚µćƒ¼ćƒ“ć‚¹åć‚’tempauthć‹ć‚‰ćƒ­ćƒ¼ćƒ‰ć—ć¦ćŠć
  • checkOAuth恧ćÆDriveAppć§ćƒ•ć‚”ć‚¤ćƒ«ć‚’čŖ­ćæč¾¼ć¾ć›ćŸå¾Œć«ć€å…±é€šé …ē›®ć®Client ID, Secret, authurl, tokenurlć‚’å–å¾—ć—ć¦ćŠć
  • ć‚µćƒ¼ćƒ“ć‚¹åć§åˆ†å²ć•ć›ć¦ć‚µćƒ¼ćƒ“ć‚¹ć®ę•°ć ć‘OAuth2.createService悒ē”Øę„ć—ć¦ćŠćć€‚
  • setPropertyStore恧PropertiesService.getScriptProperties()ć‚’ęŒ‡å®šć—ć¦ć„ć¾ć™ćŒć€ PropertiesService.getUserProperties(); ćØć™ć‚Œć°ćƒ¦ćƒ¼ć‚¶ęÆŽć«čŖčØ¼ęƒ…å ±ćŒäæå­˜ć•ć‚ŒčŖ­ćæå‡ŗć•ć‚Œć‚‹ćƒžćƒ«ćƒćƒ¦ćƒ¼ć‚¶ä»•ę§˜ć«ćŖć‚Šć¾ć™ć€‚
  • ćƒžćƒ«ćƒćƒ¦ćƒ¼ć‚¶ć§ä½æć†å “åˆćÆć€č¤‡ę•°ååŒę™‚ć«ć‚¢ć‚Æć‚»ć‚¹ć—ć¦ćć‚‹åÆčƒ½ę€§ć‚‚č€ƒćˆć¦ć€tempauth悂getUserPropertiesē®”ē†ć«ć™ć‚‹ćØč‰Æć„ć§ć—ć‚‡ć†ć€‚ć¾ćŸć€ć‚¹ćƒ—ćƒ¬ćƒƒćƒ‰ć‚·ćƒ¼ćƒˆćø恮ę›ø恍å‡ŗ恗ćÆć€ęŽ’ä»–åˆ¶å¾”ć‚’ē”Ø恄悋ćØćƒ‡ćƒ¼ć‚æćŒå£Šć‚Œćšć«ęøˆćæć¾ć™ć€‚

恓恆恙悋恓ćØ恧态ļ¼‘ć¤ć®å‡¦ē†ē³»ć§č¤‡ę•°ć®OAuth2.0čŖčØ¼ć®ć‚„ć‚Šå–ć‚ŠćŒå‡ŗę„ć‚‹ć‚ˆć†ć«ćŖć‚Šć¾ć™ć€‚ć‚µćƒ¼ćƒ“ć‚¹ęÆŽć«ćƒŖć‚Æć‚Øć‚¹ćƒˆć™ć‚‹åŗ¦ć«checkOAuthćŒå‘¼ć³å‡ŗ恕悌悋悏恑恧态ćƒŖć‚Æć‚Øć‚¹ćƒˆå‰ć«tempauthć®å€¤ć‚’å„å‘¼ć³å‡ŗć—å…ƒć§ę›ø恍ꏛ恈悋ꉋ間ćÆć‚ć‚Šć¾ć™ćŒć€ć‚­ćƒ¬ć‚¤ć«čŖčØ¼ćƒ‡ćƒ¼ć‚æćŒę ¼ē“ć•ć‚Œć¾ć™ć€‚

ć‚µćƒ¼ćƒ“ć‚¹ęÆŽć«OAuth2.createServiceć®å†…å®¹ćŒē•°ćŖć‚‹ć®ć§ć€ć“ć®ć‚ˆć†ćŖå·„å¤«ćŒåæ…要ćØćŖć‚Šć¾ć™ć€‚

ęŽ’ä»–åˆ¶å¾”ć§Google Apps Scriptć‚’å®‰å…Øć«å®Ÿč”Œć€GAS怑

ē‰¹å®šć®ć‚µćƒ¼ćƒ“ć‚¹ć ć‘ć‚·ćƒ¼ćƒˆć‹ć‚‰é™¤åŽ»ć™ć‚‹

今回ćÆćƒ¦ćƒ¼ć‚¶äø€č¦§ć‚’å–å¾—ć—ć¦ć€ć‚·ćƒ¼ćƒˆć®ćƒ‡ćƒ¼ć‚æć‚’ę“—ę›æ恧ę›øćę›ćˆć‚‹ć®ć§ć€ē‰¹å®šć®ć‚µćƒ¼ćƒ“ć‚¹åć‚’ęŒć¤ć‚‚ć®ć‚’é™¤å¤–ć™ć‚‹ć‚³ćƒ¼ćƒ‰ć‚’ē”Øę„ć—ć¦ć‚ć‚Šć¾ć™ć€‚

  • ć‚µćƒ¼ćƒ“ć‚¹åć‚’ęŒ‡å®šć—ć¦ćć®ć‚µćƒ¼ćƒ“ć‚¹åćŒå«ć¾ć‚Œć‚‹ćƒ‡ćƒ¼ć‚æć‚’é™¤å¤–ć™ć‚‹ć‚³ćƒ¼ćƒ‰ć§ć™
  • äø€ę‹¬ć§ćƒ‡ćƒ¼ć‚æ悒sheet恫čŖ­ćæč¾¼ć‚“ć§ćŠćć€é…åˆ—ć‹ć‚‰filter悒ä½æć£ć¦é™¤å¤–ć™ć‚‹
  • ć‚·ćƒ¼ćƒˆć®ćƒ‡ćƒ¼ć‚æ悒ć‚ÆćƒŖć‚¢ć—ćŸå¾Œć«é™¤å¤–ć—ćŸę–°ć—ć„é…åˆ—ć§äøŠę›ø恍恙悋

ć‚µćƒ¼ćƒ“ć‚¹ć‚’å–å¾—ć—ć¦ć‚·ćƒ¼ćƒˆć«ę›ø恍å‡ŗ恙

仄äø‹ćÆMicrosoft365ć®ćƒ¦ćƒ¼ć‚¶äø€č¦§ć‚’å–å¾—ć—ć¦ę›ø恍å‡ŗć™ć‚³ćƒ¼ćƒ‰ć§ć™ć€‚

  • OAuthčŖčØ¼ćƒ‡ćƒ¼ć‚æć‚’å‘¼ć³å‡ŗć™å‰ć«ć€tempauthć«åˆ©ē”Øć™ć‚‹ć‚µćƒ¼ćƒ“ć‚¹åć‚’ę›øćč¾¼ć‚“ć§ćŠćåæ…č¦ćŒć‚ć‚Šć¾ć™ć€‚
  • checkOAuth恧tempauthć®å€¤ć‚’å…ƒć«å€¤ć‚’å–ć‚Šå‡ŗ恗恦ćƒŖć‚Æć‚Øć‚¹ćƒˆć™ć‚‹
  • clearServiceRecć§ćƒ‡ćƒ¼ć‚æ悒ē‰¹å®šć‚µćƒ¼ćƒ“ć‚¹ć®ćƒ‡ćƒ¼ć‚æć ć‘ę¶ˆåŽ»ć—ćŸć®ć”ć«äø€ę‹¬ć§äøŠę›ø恍恗ē›“恙

関連ćƒŖćƒ³ć‚Æ

ć‚³ćƒ”ćƒ³ćƒˆć‚’ę®‹ć™

ćƒ”ćƒ¼ćƒ«ć‚¢ćƒ‰ćƒ¬ć‚¹ćŒå…¬é–‹ć•ć‚Œć‚‹ć“ćØćÆć‚ć‚Šć¾ć›ć‚“ć€‚ ā€» ćŒä»˜ć„ć¦ć„ć‚‹ę¬„ćÆåæ…須項ē›®ć§ć™

ć“ć®ć‚µć‚¤ćƒˆćÆć‚¹ćƒ‘ćƒ ć‚’ä½Žęø›ć™ć‚‹ćŸć‚ć« Akismet 悒ä½æć£ć¦ć„ć¾ć™ć€‚ć‚³ćƒ”ćƒ³ćƒˆćƒ‡ćƒ¼ć‚æć®å‡¦ē†ę–¹ę³•ć®č©³ē“°ćÆć“ć”ć‚‰ć‚’ć”č¦§ćć ć•ć„ć€‚