Google Workspaceã®åçã°ã«ãŒãã§æ¥œãããã
å€§èŠæš¡ãªçµç¹å€æŽããç°åã®ææããã®åºŠã«éšéã®ã°ã«ãŒãã¢ãã¬ã¹ã®ã¡ã³ããŒãå ¥ãæ¿ãããããã®ã¯å°å³ã«å€§ä»äºã ã£ããããŸããé£åããGoogle Driveã«å¯ŸããŠãã¢ã¯ã»ã¹ãåºæ¥ãªããªã£ãããç°åããã®ã«å ã®éšçœ²ã®ãã©ã€ããèŠããç¶æ ã®ãŸãŸã«ãªã£ãããšãã»ãã¥ãªãã£çã«ãåé¡ãçããããŸããã
ããã§Google Workspaceã«çšæãããŠããåçã°ã«ãŒãæ©èœãå©çšããŠãããã°ã«ãŒãã¢ãã¬ã¹ã®ã¡ã³ããèªååããå®å šã«éçšããããŠããŠããŸãšããŠã¿ãŸããã
Google Apps Scriptã§ã°ã«ãŒãã¢ãã¬ã¹ã®äœæã»åé€ãè¡ã
ç®æ¬¡
ä»åå©çšãããµãŒãã¹ç
ãã®æ©èœã¯ãGoogle Workspace Enterprise Standard以äžãããã¯ãä»ã®ãã©ã³ã«ãŠCloud Identity Premiumããµãã¹ã¯ãªãã·ã§ã³ã§è¿œå ããŠãå Žåã«å©çšããããšãå¯èœã§ãã
ãŸããã¹ã¯ãªããããåçã°ã«ãŒããäœãããå Žåã¯ãCloud Identity APIãå©çšããå¿ èŠããããã¯ãšãªã§å©çšããã«ã¹ã¿ã 屿§ã«ã€ããŠãåæ§ã§ããCloud Identityã«é¢ããèšäºã¯ä»¥äžã®ãšã³ããªãŒãåç §ããŠãã ããã
â»Microsoft365ã ãšãAzure Active DirectoryããšEntra IDã®åçã°ã«ãŒãã¡ã³ããŒã·ããã«ãŒã«ãããã«è©²åœãããšæããŸãã
åçã°ã«ãŒããšã¯ïŒ
æŠèŠ
éåžžã®ã°ã«ãŒãã¢ãã¬ã¹ã¯äººéããã®ã¡ã³ããŒãæåã§ç®¡çããå¿ èŠããããŸãããã£ãŠã远å ãããŠã以äžã¯ãã®äººã¯é²èЧãå¯èœã§æçš¿ãå¯èœã§ãããŸããã°ã«ãŒãã¢ãã¬ã¹ã§Driveã«ã¢ã¯ã»ã¹æš©éãä»äžç®¡çããŠãå Žåããã®ãã©ã€ããžã®ã¢ã¯ã»ã¹ãå¯èœã«ãªããŸãã
äžæ¹åçã°ã«ãŒããšã¯ãGoogle Workspaceã®ãã£ã¬ã¯ããªã«æŒããŠãŠãŒã¶ã®å±æ§çãå©çšããŠæ¡ä»¶æå®ãããã®æ¡ä»¶ã«åèŽããã¡ã³ããŒãã°ã«ãŒãã³ã°ããŠããã®ãªã®ã§ãäžåºŠäœæãããšåºæ¬ã¡ã³ããã³ã¹ããªãŒã«ãªããŸãããã¡ããããŠãŒã¶åã 人ã®ãã£ã¬ã¯ããªäžã®å±æ§æ å ±ã¯æåã§æŽæ°ãè¯ãã§ãããAdmin SDKã®AdminDirectory.Users.updateãå©çšããŠäžæ¬ã§æŽæ°ãããšããææ³ã䜿ããŸãã
ã°ã«ãŒãã¢ãã¬ã¹ã®ã¡ã³ããŒãåŒããããåã 人ã®å±æ§å€ãä¿®æ£ããæ¹ãé¥ãã«æ¥œãªã®ã§ãé©åãããã©ã³ãå©çšããŠãçµç¹ã§ã¯äœ¿ããªãæã¯ãããŸãããäœããæ¬¡é ã®å¶éäºé ãããããããã©ããã§ã¯ãªãçµç¹ã§éå±€æ§é ãæ·±ãçµç¹ã®å Žåã§çްããéçšãåããããšãã£ãå Žåã«ã¯å¥ééçšãã¯ããã¯ãå¿ èŠã§ã
å¶éäºé
åçã°ã«ãŒãã¯ãéåžžã®ã°ã«ãŒãã¢ãã¬ã¹ãšç°ãªãå¶éäºé ããããŸããäž»ãªå¶éäºé ã¯ä»¥äžã®éãã§ãã
- æåã§ãŠãŒã¶ã®è¿œå ãããããšã¯åºæ¥ãŸãã
- ã°ã«ãŒãã¢ãã¬ã¹ãåçã°ã«ãŒãã®ã¡ã³ããŒã«è¿œå ããäºã¯åºæ¥ãŸããïŒå¯Ÿè±¡ã¯ãŠãŒã¶ã®ã¿ã§ãïŒ
- ã°ã«ãŒãã¢ãã¬ã¹ã«å¯Ÿããæš©é管çã¯ã°ã«ãŒãã¡ã³ããŒã®ã¿ããŠã§ãäžã®å šãŠã®ãŠãŒã¶ãçµç¹å šäœã®ã¿ã§çްããªæš©é管çã¯åºæ¥ãŸããã
- Admin Consoleäžããã§ãªããã°äœæããããšã¯åºæ¥ãŸãã
- åçã°ã«ãŒãã¯æšæºã§100åãŸã§äœæå¯èœã§ãïŒãã以äžã®å Žåã¯ãµããŒãã«åãåããããŠãæ ãæ¡åŒµããå¿ èŠããããŸãïŒ
ç¹ã«éçšäžé害ã«ãªãã®ãã2.ã®éšåãæåã§çµç¹éšéã®ã°ã«ãŒãã¢ãã¬ã¹ãäœã£ãŠéçšããŠãå Žåãéå±€æ§é ãã°ã«ãŒãã¢ãã¬ã¹ã§åçŸããããã«ãã°ã«ãŒãã¢ãã¬ã¹ã®äžã«å¥ã®äžäœçµç¹ã®ã°ã«ãŒãã¢ãã¬ã¹ã远å ããããäžäœçµç¹çŽäžæå±ã®ã¡ã³ããŒãå¥éå ¥ããŠããããšå ¥ãä¹±ããŠãã±ãŒã¹ãå€ãã§ããããããã£ãéçšã¯åºæ¥ãŸãããå¿ ãæå±ããã®ã¯ã¡ã³ããŒã§ããå¿ èŠããããŸãã
ã€ãŸãããããã©ãã«ãããããšããã«ã¯åè¿°ã«ããããã«å¥ééçšãã¯ããã¯ãå¿ èŠãªã®ã§ãã
åçã°ã«ãŒãã®äœæ
åçã°ã«ãŒãã¯2021幎ã«Google Workspaceã«ãªãªãŒã¹ãããæ©èœã§ãã¯ãšãªåŒãæã£ãŠããŠã°ã«ãŒããäœæãããã®ã§ããäœãçŸæç¹ã§ã¯ãŠãŒã¶ã®å±æ§å€ã«å¯ŸããŠã€ã³ãŒã«/ãããã€ã³ãŒã«ã§ããæ¡ä»¶åŒã¯äœæã§ããŸããïŒLikeã¿ãããªæåãå«ããšãã£ãæå®ã¯ã§ããªãïŒããŸããçŸåšããŒã¿çã§ãããŠãŒã¶ã«ã«ã¹ã¿ã 屿§ãšããŠè¿œå ããããšãå¯èœã«ãªã£ãŠããŸãã
éåžžã®äœæ
åçã°ã«ãŒããäœæããã®ã¯ãããŸã§é£ãããããŸããã以äžã®æé ã§äœæããããšãå¯èœã§ãã
- Admin Consoleãžãã°ã€ã³ãã
- å·Šãµã€ãããŒãããã£ã¬ã¯ããª=>ã°ã«ãŒããéã
- åçã°ã«ãŒããäœæãã¯ãªãã¯ãã
- Conditionãã屿§å€ãéžæãããä»åã¯éšéïŒorganization.departmentïŒãéžæããŠã¿ã
- Equalsãã€ã³ãŒã«ãEqual ignore caseããããã€ã³ãŒã«ã«ãªããŸãã
- æ¡ä»¶ã远å ã§ANDãORã®æå®ã§å¥ã®å±æ§å€ãåæã«æå®ããäºãåºæ¥ãŸãã
- Valueã«å±æ§å€ãšäžèŽãããã¯éäžèŽããã¯ãŒããå ¥åãä»åã¯æ å ±ã·ã¹ãã éšãšããŠæå®ããŠã¿ãã
- ãã¬ãã¥ãŒãã¯ãªãã¯ãããšã屿§å€ãäžèŽããã¡ã³ããŒããã¡ããšåºãŠããã°ãªãã±ãŒ
- åçã°ã«ãŒããäœæãã¯ãªãã¯ãããšäœæãå®äºããã
- å¿ èŠãªãã°ã°ã«ãŒãã®èšå®å€æŽããŠã¢ã¯ã»ã¹æš©éã倿ŽããŠãããŸãã
å³ïŒåçã¯ãšãªäœæç»é¢
ã«ã¹ã¿ã 屿§
Google Workspaceã«æšæºã§çšæãããŠã屿§å€ã§ã¯è¶³ããªãå Žåã«ããã³ã管çè ã远å ããäºãåºæ¥ã远å ã®å±æ§ãã«ã¹ã¿ã 屿§ã§ããã«ã¹ã¿ã ã§è¿œå ããããšã§ãåçã°ã«ãŒãã®æšæºã®å±æ§ã«å ããããšãå¯èœã§ãã以äžã¯æåã§å±æ§å€ãå ããæé ã«ãªããŸãã
- Admin Consoleãžãã°ã€ã³ãã
- å·Šãµã€ãããŒãããã£ã¬ã¯ããª=>ãŠãŒã¶ãéã
- ãŠãŒã¶ãªã¹ãå³äžã«ãããã®ä»ã®ãªãã·ã§ã³=>ã«ã¹ã¿ã 屿§ã管çããŸããã¯ãªãã¯ãã
- ã«ã¹ã¿ã 屿§ã远å ãã¯ãªãã¯ãã
- ã«ããŽãªåãšèª¬ææãé©åœã«å ¥åã
- ã«ã¹ã¿ã ãã£ãŒã«ãã¯ååã¯åºæ¬è±èªã§å ¥åããã»ããGASããã®å€ã¯å ¥ããããã§ãïŒäŸãã°orgHonbu, orgBumonãšãã£ã圢ã§ïŒ
- ãã£ãŒã«ãã¿ã€ãã¯ããã¹ããæ°å€çãéžã¹ãŸããä»åã¯å šéšããã¹ãã§ã
- å ¬éèšå®ã¯åºæ¬ä»åã®å Žåãçµç¹ã«å ¬éã§è¡ããŸãã
- å€ã®æ°ã¯åäžã®å€ã§ã»ããããŸããè€æ°ã®å€ãã»ãããããããªãã¿ãŒã³ãå¯èœã§ãã
ããã§ãã£ã¬ã¯ããªã®ãŠãŒã¶æ å ±ã«å¯ŸããŠãå ¥åæ¬ãäžã®æ¹ã«åºçŸããŸãããŸããåçã¯ãšãªã®å±æ§å¯Ÿè±¡éžæã®ãã«ããŠã³ã«ãåºãŠããããã«ãªãã®ã§ãã«ã¹ã¿ã 屿§ã§ã¯ãšãªãäœæããããšãå¯èœã«ãªããŸãã
å³ïŒã«ã¹ã¿ã 屿§ã远å ããç»é¢
å³ïŒè¿œå ããã屿§å ¥åæ¬
å³ïŒåçã¯ãšãªã®å±æ§éžææ¬ã«åºãŠãã
éçšãã¯ããã¯
æŠèŠ
åè¿°ã®é ç®ã§äœåãåºãŠãããéçšãã¯ããã¯ãã«ã€ããŠã§ãããåçã°ã«ãŒãã«ã°ã«ãŒãã¢ãã¬ã¹ãã¡ã³ããŒãšããŠæå±ãããããšã¯åºæ¥ãŸããããã£ãŠãå¿ ãæå±ããã®ã¯éåžžã®ãŠãŒã¶ã®ã¢ãã¬ã¹ã§ããå¿ èŠããããŸãããããªããšãããŸã§æåã§éçšããŠããæã®ããã«ãã°ã«ãŒãã¢ãã¬ã¹ã®äžã«ã°ã«ãŒãã¢ãã¬ã¹ãå ¥ããããäžäœçµç¹çŽäžæå±ã®ã¡ã³ããŒã远å ããããšãã£ãå ¥ãä¹±ããéçšãåºæ¥ãŸããïŒãšããããã®ææ³èªäœãæªæãªãã§ããïŒã
åçã°ã«ãŒãã§éå±€æ§é ãå®çŸãã€ã€ã¡ã³ããã³ã¹ããªãŒã«ããã«ã¯éåžžã®ã°ã«ãŒãã¢ãã¬ã¹ãå¿ èŠã«ãªããŸãã
ããã§ã¯3éå±€ã®æ§é ãæã€çµç¹ïŒæ¬éš=éšé=課ïŒã®å Žåã«ã€ããŠèª¬æããŠã¿ãããšæããŸãã
éåžžã®ã°ã«ãŒãã䜵çšããæ¹æ³
ãã®ææ³ã¯ãããŸã§ã®éå±€æ§é ã®ã°ã«ãŒãã¢ãã¬ã¹ã®æ§é ãå©çšãã€ã€ãåçã°ã«ãŒããæŽ»çšããæ¹æ³ã§ããæ¢åã®ã°ã«ãŒãã¢ãã¬ã¹ããç§»è¡ããããæ¹æ³ã§ãããçµç¹å€æŽãçããå Žåã«ã¯ã°ã«ãŒãã¢ãã¬ã¹å ã®æ§é ã1åãã€é¡ã£ãŠå€æŽãå¿ èŠãšãªããŸãã
- æ¬éšãéšéã®ã¡ãŒã«ã¢ãã¬ã¹ã«å¯ŸããŠã¯ãŠãŒã¶ã¢ãã¬ã¹ã¯äžåç»é²ã¯ããªããäžäœçµç¹ã®ã°ã«ãŒãã¢ãã¬ã¹ã®ã¿ãšããïŒããã¯éåžžã®ã°ã«ãŒãã¢ãã¬ã¹ïŒ
- ãŠãŒã¶ã¯ååãäžçªäžã®çµç¹ã§ãã課ã®ã°ã«ãŒãã¢ãã¬ã¹ã«æå±ãããïŒãããåçã°ã«ãŒãã§äœæããŠããïŒ
- æ¬éšãéšéçŽäžæå±ã®ãããªäººãã¡ã«ã€ããŠã¯çŽäžå°çšã®ã°ã«ãŒãã¢ãã¬ã¹ãå¥éäœæããïŒãããåçã°ã«ãŒãã§äœæããŠããïŒ
ããããããšã§ãã°ã«ãŒãã¢ãã¬ã¹ãšãŠãŒã¶ãå ¥ãä¹±ããäºããªããå¿ ããŠãŒã¶ã¯åçã°ã«ãŒãã«æå±ãããããšã«ãªãã®ã§ããŠãŒã¶ã®ãã£ã¬ã¯ããªäžã®çµç¹éšéã倿Žããäºã§ã察象ã®ã°ã«ãŒãã¢ãã¬ã¹ãã©ããªã®ããæèããããšãªã倿Žãããããšãåºæ¥ãããã«ãªããŸãã
ã«ã¹ã¿ã 屿§ã䜿ã£ãæ¹æ³
åè¿°ã®ã«ã¹ã¿ã 屿§ã䜿ã£ãææ³ã§ããAdmin Consoleäžã®ãã£ã¬ã¯ããªã«æŒãããŠãŒã¶ã«å¯ŸããŠã«ã¹ã¿ã 屿§ãä»ããããšã§ãã°ã«ãŒãã¢ãã¬ã¹ãå šãŠåçã°ã«ãŒãã§äœæããæ¹æ³ã§ããåè¿°ã®æ¹æ³ãšç°ãªãçµç¹å€æŽãçããŠãåºæ¬ãã°ã«ãŒãã¢ãã¬ã¹å ã®æ§é ã蟿ã£ãŠã®ä¿®æ£ãäžèŠã§ãæ¡ä»¶ã䜿ã£ãŠæ§ç¯ããçºãçµç¹å€æŽããã£ãå Žåã¯ããŠãŒã¶ã®å±æ§å€æŽãšã°ã«ãŒãã¢ãã¬ã¹ã®æ¡ä»¶åŒå€æŽã ãã§æžã¿ãŸãã
- ãŠãŒã¶ã«æ¬éšãéšéã課ã®ïŒã€ã®ã«ã¹ã¿ã 屿§ã远å ãã
- æ¬éšã®åçã°ã«ãŒãã¯æ¬éšã«å¯Ÿè±¡ã®æ¬éšãå ¥ã£ãŠããã©ããã ããã¯ãšãªã§æ§ç¯ããïŒæ¬éšä»¥äžã®ã¡ã³ããŒãå šãŠãããããïŒ
- éšéã®åçã°ã«ãŒãã¯éšéã«å¯Ÿè±¡ã®éšéãå ¥ã£ãŠããã©ããã ããã¯ãšãªã§æ§ç¯ããïŒéšé以äžã®ã¡ã³ããŒãå šãŠãããããïŒ
- 課ã®åçã°ã«ãŒãã¯èª²ã«å¯Ÿè±¡ã®èª²ãå ¥ã£ãŠããã©ããã ããã¯ãšãªã§æ§ç¯ããïŒèª²ã®ã¡ã³ããŒã®ã¿ããããããïŒ
éåžžã«åçŽãªã¯ãšãªæ§é ãªã®ã§éšçŽäžãšãã£ãããšãæèããããã®ããã®ã°ã«ãŒãã¢ãã¬ã¹ãå¥éäœæã¯å¿ èŠãããŸãããã°ã«ãŒãã®äžã«ã°ã«ãŒãã¢ãã¬ã¹ãå ¥ããŠéå±€åãå¿ èŠãããŸãããéåžžã«ã·ã³ãã«ã§ããANDæ¡ä»¶ã§è€éã«ããå¿ èŠããããŸããã
ä»ãæ¿ããå Žåã®æ³šæç¹
å€ãã°ã«ãŒãã¢ãã¬ã¹ã眮ãæãããå Žåãæ¢åã®ååã®ã°ã«ãŒãã¢ãã¬ã¹ãäžåºŠåé€ããŠãäœãçŽãå¿ èŠããããŸãããã®å Žååé¡ã«ãªãã®ã¯ãGoogle Driveã«ã€ããŠããŸã£ãã°ã«ãŒãã¢ãã¬ã¹ã§ã®ã¢ã¯ã»ã¹æš©éã¯ã©ããªããïŒåé¡ã§ããã¢ãã¬ã¹èªäœåé€ããŠããŸã£ãŠãã®ã§ãã¢ã¯ã»ã¹æš©éãæ¶ããŠããŸãå床ãå¿ èŠãªå ±æãã©ã€ãã«å¯ŸããŠå šéšä»ãæ¿ããå¿ èŠãïŒãšãªããŸãããããæ€èšŒããŸããã
- å ±æãã©ã€ãã«ã¯è©²åœã®éåžžã®ã°ã«ãŒãã¢ãã¬ã¹ã§ã¢ã¯ã»ã¹æš©éãã€ããŠããŸãã
- 1.ã®ã°ã«ãŒãã¢ãã¬ã¹èªäœãåé€ããŠã¿ã
- 1.ã®ã°ã«ãŒãã¢ãã¬ã¹ãšåãã¢ãã¬ã¹åã§åçã°ã«ãŒãã§äœãçŽã
å®éã«ãã®ç¶æ ã§å ±æãã©ã€ãã®ã¡ã³ããŒèšå®ãèŠãŠã¿ããšããåé€ãããã¢ã«ãŠã³ãããšè¡šç€ºããããŸãŸã«ãªã£ãŠãã
ãã£ãŠãååã®ã°ã«ãŒãã¢ãã¬ã¹åã§ã°ã«ãŒãã¢ãã¬ã¹=>åçã°ã«ãŒãã§å·®ãæ¿ããå Žåã«ã¯ãå¿ ãå ã®å ±æãã©ã€ãã®ãªã¹ããååŸããŠãããŠãåããã©ã€ãã«å¯ŸããŠã°ã«ãŒãã¢ãã¬ã¹ã§ã¢ã¯ã»ã¹æš©éãä»äžãçŽãå¿ èŠããããŸãã
Google Apps Scriptã䜿ã
åã 人ã®å±æ§æ å ±ãååŸã»æŽæ°ãã
屿§å€ã®ååŸã«ã¯AdminDirectory.Users.getãå©çšããå€ã®æŽæ°ã«ã€ããŠã¯AdminDirectory.Users.updateã䜿ã£ãп޿°ãè¡ããŸããã¹ãã¬ããã·ãŒãã«ãŠãŒã¶ã®ãªã¹ããçšæããŠãããŠãããããæŽæ°ãæããŸããã«ã¹ã¿ã 屿§å€ã«ã€ããŠãåæ§ã§ãã
æšæºã®å±æ§å€ã®å€æŽ
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
//ãŠãŒã¶ãªãœãŒã¹ãæ§ç¯ var userResource = { "phones": [ { "value": "ããã«é»è©±çªå·ãå
¥ãã", "type": "work" } ], organizations: [ { department:"ããã«çµç¹ã®æå±éšéåãå
¥ããŸã", title : "ããã«åœ¹è·åãå
¥ãã", description : "ããã«åŸæ¥å¡ã®çš®é¡ãå
¥ãã" } ], } //屿§å€ãæŽæ°ãã try{ AdminDirectory.Users.update(userResource, "察象ã®ã¡ãŒã«ã¢ãã¬ã¹ãå
¥ãã"); }catch(e){ console.log(e.message) } |
- userResourceãæ§ç¯ããAdminDirectory.Users.updateã«ãŠã¡ãŒã«ã¢ãã¬ã¹ãå ããŠå®è¡ãããšãã£ã¬ã¯ããªã®å å®¹ãæžãæãããŸãã
- userResourceã¯å¿ èŠãªãã®ã ããå ¥ããŠããã®ã§ãããAdmin Consoleäžã®è¡šèšãã©ã®æšæºå±æ§ãšå¯Ÿå¿ããŠããã®ãïŒã¯èŠæ¥µããå¿ èŠã§ã
- äžèšã®äŸã§ã¯ãæšæºå±æ§ã®é»è©±çªå·ãšçµç¹éšéã®å 容ã®äžéšãæŽæ°ããŠããŸãã
ã«ã¹ã¿ã 屿§å€ã®å€æŽ
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
function setCustomProp(){ //ãŠãŒã¶ãªãœãŒã¹ãæ§ç¯ var userResource = { customSchemas:{ employee: { bumon2: 'éšéïŒ', bumon: 'éšéïŒ', honbu: 'æ¬éš', section: 'ã»ã¯ã·ã§ã³' } } } //Admin SDKã§ã¢ããããŒããã try{ AdminDirectory.Users.update(userResource, "ããã«ã¡ãŒã«ã¢ãã¬ã¹ãå
¥ãã"); }catch(e){ console.log(e.message) } } |
- ä»åã¯employeeãšããåã§ã«ã¹ã¿ã 屿§å€ãäœãããã®äžã«bumonçã®ãã£ãŒã«ããèšããŠããŸãã
- AdminDirectory.Users.updateã§æŽæ°ãæããç¹ã¯å€ããã
- userResourceã®æ§ç¯ã¯åè¿°ã®getã§ååŸããå 容ããã®ãŸãŸæ§ç¯ã§ãèšè¿°ããŸããã«ã¹ã¿ã 屿§ã®ãã£ãŒã«ããååšã察å¿ããŠããã®ãã©ããªã®ãïŒããèŠæ¥µããŠã»ããããŸãããã
屿§å€ã®ååŸ
1 2 3 4 5 6 7 8 9 |
function userinfogetter(){ let ret = AdminDirectory.Users.get( "ããã«å¯Ÿè±¡ã®ã¡ãŒã«ã¢ãã¬ã¹ãå
¥ãã", { "projection": "full" } ) console.log(ret) } |
- employeeãšããååã§ã«ã¹ã¿ã 屿§ãäœããbumonçã®ãã£ãŒã«ããèšããŠããŸãã
- ãŠãŒã¶ã®å±æ§å€ãååŸããå Žåã«ã¯ãAdminDirectory.Users.getã䜿ããŸãããæšæºå±æ§ããåããªãã®ã§ããªãã·ã§ã³ãšããŠprojectionãfullã§æå®ãããšã«ã¹ã¿ã 屿§ãŸã§å«ããŠååŸå¯èœã§ãã
- ååŸããå
容ã¯ä»¥äžã®ãããªåœ¢ã«ãªããŸãããå¿
ãããã«ã¹ã¿ã 屿§ã§åä»ããå
容ãšFieldåãäžèŽããªãã±ãŒã¹ãããã®ã§äžåºŠååŸããŠã©ããã©ã®ãã£ãŒã«ããšå¯Ÿå¿ããŠãã®ããèŠæ¥µããŸãããã
12345678910customSchemas:{employee:{bumon2: 'äžäœã®éšéå',bumon: 'éšéå',honbu: 'æ¬éšå',section: '課ã®åå'}},
ãã©ã€ãã«ã¢ã¯ã»ã¹æš©éãä»äžãã
äœæããåçã°ã«ãŒããå ±æãã©ã€ãã«äžæ¬ã§ä»äžããããšãã£ãå Žåã«ã¯ãDrive APIãå©çšããŠå ±æãã©ã€ããæäœããå¿ èŠããããŸããäœããã¢ã¯ã»ã¹æš©éã®èšå®ã«ã€ããŠããã®ããã³ãã§ã管çè 以å€ã¯ã¢ã¯ã»ã¹æš©éãæäœãããªãããšããããªã·ãŒãé©çšããŠãå Žåãéåžžã®ãŠãŒã¶ãæš©é倿Žããããšã¯åºæ¥ãŸããã®ã§ãã¹ã¯ãªããã®å®è¡ã¯ãç¹æš©ç®¡çè ãã§è¡ãå¿ èŠããããŸãã
ä»ãæ¿ããä»äžèªäœã®ã³ãŒãã¯ä»¥äžã®ãšã³ããªãŒã§ãŸãšããŠããŸãã®ã§ãDrive.Permissions.insertãå©çšããŠä»äžããäºãå¯èœã§ãã
Google Apps Scriptã§å ±æãã©ã€ãäžèЧååŸãšãŠãŒã¶å·®ãæ¿ããGASã
åçã°ã«ãŒããäœæãã
ã¹ã¯ãªããããã£ãŠåçã°ã«ãŒããäœæããã«ã¯éåžžã®ã°ã«ãŒãäœæã§ããAdminDirectoryã§ã¯äœæãåºæ¥ãŸãããå©çšããã«ã¯ã¡ãã£ãšããæºåãšREST APIãå©ãå¿ èŠããããŸããCloud Identity APIã䜿ããŸããGoogle Workspaceã®ããã³ãã«Cloud Identity FreeãPremiumããµãã¹ã¯ã§è¿œå ããŠããªããŠã䜿ããŸãã®ã§ããã®ããã«å¥é远å ã¯äžèŠã§ãã
äºåæºå
顧客IDã調ã¹ã
ãœãŒã¹ã³ãŒãã§å©çšããGoogle Workspaceã®é¡§å®¢IDã調ã¹ãŸãã以äžã®æé ã§èª¿ã¹ãããšãå¯èœã§ãã
- Admin Consoleãéã
- å·Šãµã€ãããŒããã¢ã«ãŠã³ã => ã¢ã«ãŠã³ãèšå®ãéã
- ãããã¡ã€ã«ã«é¡§å®¢IDãèšèŒãããŠãã®ã§ãããæ§ããŠãã
APIãæå¹ã«ãã
Google Cloud ConsoleåŽã§APIãæå¹åããå¿ èŠæ§ããããŸãã
- GCPã®ãããžã§ã¯ããéã
- å·Šãµã€ãããŒããAPIãšãµãŒãã¹ã«ãŠããAPIãšãµãŒãã¹ã®æå¹åããã¯ãªãã¯ãã
- Cloud Identityãšæ€çŽ¢ãããšåºãŠããã®ã§ãã¯ãªãã¯ããŸãã
- æå¹åãã¯ãªãã¯ããŸãã
- èªèšŒæ å ±ã®äœæã¯äžèŠã§ã
å³ïŒæå¹åãããŠããã ãã§OK
GASã®ãããžã§ã¯ããçŽä»ããã
Google Apps ScriptãšCloud Consoleã®ãããžã§ã¯ããçŽä»ãããäœæ¥ãå¿ èŠã§ãã以äžã®æé ã§ãããžã§ã¯ãã®å€æŽãè¡ããŸãã
- Cloud ConsoleåŽã®ãããžã§ã¯ãã®ããŒã ãéããããããžã§ã¯ãçªå·ããæ§ããŠãã
- Google Apps Scriptã®ã¹ã¯ãªãããšãã£ã¿ãéã
- ãµã€ãããŒãããããžã§ã¯ãèšå®ãéã
- GCPãããžã§ã¯ãã®ããããžã§ã¯ãã倿Žããã¯ãªãã¯
- GCPã®ãããžã§ã¯ãçªå·ã«ã1.ã®çªå·ãå ¥åããŠããããžã§ã¯ããèšå®ãã¯ãªãã¯
- ããã§çŽä»ããå®äºããŸããã
å³ïŒãããžã§ã¯ãã®ç§»åãå¿ é ã®äœæ¥ã§ã
appscript.jsonã®ç·šé
appscript.jsonã«ä»¥äžã®ãããªæãã§ãoauthScopesã远å ããŠèµ·ããŸããappscript.jsonã®è¡šç€ºã¯ããµã€ãããŒã®ãããžã§ã¯ãèšå®ããããappsscript.jsonããããã§ã¹ã ãã¡ã€ã«ããšãã£ã¿ã§è¡šç€ºããã«ãã§ãã¯ãå ¥ãããšè¡šç€ºãããããã«ãªããŸããGCPã®APIã䜿ãçºã«å¿ èŠã§ãã
1 2 3 4 5 6 7 8 9 10 11 12 13 |
{ "timeZone": "Asia/Tokyo", "dependencies": { }, "exceptionLogging": "STACKDRIVER", "runtimeVersion": "V8", "oauthScopes": [ "https://www.googleapis.com/auth/userinfo.profile", "https://www.googleapis.com/auth/userinfo.email", "https://www.googleapis.com/auth/script.external_request", "https://www.googleapis.com/auth/cloud-identity.groups" ] } |
ãœãŒã¹ã³ãŒã
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
function createDynamicGroup(){ //äœæããã°ã«ãŒãã¢ãã¬ã¹ let groupaddr = "ããã«äœæããã°ã«ãŒãã¢ãã¬ã¹ãå
¥ãã" //顧客IDã®æå® let customer_id = "ããã«é¡§å®¢IDãããã"; //äœæãšã³ããã€ã³ã let endpoint = "https://cloudidentity.googleapis.com/v1/groups?initialGroupConfig=EMPTY"; //OAuth TokenãååŸ let token = ScriptApp.getOAuthToken(); //ãªã¯ãšã¹ããã㣠let body = { "parent":"customerId/" + customer_id, "groupKey": {"id": groupaddr}, "displayName":"ã°ã«ãŒãã¢ãã¬ã¹ã®è¡šç€ºåãããã", "description": "ããã«ã°ã«ãŒãã¢ãã¬ã¹ã®èª¬ææãå
¥ãã", "labels": { "cloudidentity.googleapis.com/groups.discussion_forum": "" }, "dynamicGroupMetadata": { "queries": [ { "resourceType": "USER", "query": "user.custom_schemas.employee.honbu_name=='ã«ã¹ã¿ã 屿§ã®æ¬éšåãå
¥ãã'" } ] } } //ãããæ
å ± let header = { Authorization: "Bearer " + token } //ãªã¯ãšã¹ããªãã·ã§ã³ let options = { headers: header, method: "POST", contentType: "application/json", payload: JSON.stringify(body), muteHttpExceptions: true } //URLãªã¯ãšã¹ã let response = UrlFetchApp.fetch(endpoint,options); //ã¬ã¹ãã³ã¹å
容ãååŸ let ret = response.getContentText(); console.log(ret) } |
- groupaddrã«xxxxx@hoge.comãšãã圢åŒã§æ°èŠäœæããã°ã«ãŒãã¢ãã¬ã¹ãå ¥ãã
- customer_idã«ååŸããŠããã顧客IDãå ¥ãã
- ãšã³ããã€ã³ãã®ããŒã¹ã¯ãhttps://cloudidentity.googleapis.com/v1/groupsãã§ãããã¯ãšãªãã©ã¡ãŒã¿ã«?initialGroupConfig=EMPTYã远å ããå¿ èŠæ§ããããŸãã
- ãªã¯ãšã¹ãããã£ã®parentã¯é¡§å®¢IDãã€ãªããŠããcustomerId/xxxxããšãã£ã圢ã§å ¥åãã
- groupKeyã«äœæããgroupaddrãå ¥ããŠããã
- labelsã¯ãœãŒã¹ã³ãŒãå ã®æååã§åºå®çã«å ¥ããŠãã
- dynamicGroupMetadataãéèŠã§ãresourceTypeã¯USERã§è¯ãã®ã§ãããqueryã¯å®éã®Admin Consoleã®åçã°ã«ãŒãäœæç»é¢ã§æ§ç¯ãããšäžã«åŒãåºãŠããã®ã§ãããããã®ãŸãŸå ¥ããŠãããŸããä»åã®ã±ãŒã¹ã§ã¯ã«ã¹ã¿ã 屿§ã®honbu_nameãæå®ã®æ¬éšåã®ã¡ã³ããŒãååŸããããã¯ãšãªãäœã£ãŠããŸãã
- ããšã¯UrlfetchAppã§POSTã§ãªã¯ãšã¹ããæãããšåçã°ã«ãŒããGASã§äœæããããšãå¯èœã§ãã
é¢é£ãªã³ã¯
- Cloud Identityã§Googleã°ã«ãŒãããã¡ã³ããŒã远å ã»åé€ããGoogle Apps Scriptãæžãã
- åçã°ã«ãŒãã䜿çšããŠã¡ã³ããŒãèªåçã«ç®¡çãã
- åçã°ã«ãŒãã®äœæãšæŽæ°
- Method: groups.create
- Cloud Identity API
- ã¡ã³ããŒã¯ãšãªã®äœæãšãã¹ã - ã«ã¹ã¿ã 屿§ã䜿ã
- åçã°ã«ãŒãçšã®ã¡ã³ããŒã·ãã ã¯ãšãªãäœæãã
- Retrieve custom attribute from user profile in Google API Scripts- Google Admin Directory
- Google API Cloud identity groups().create(): what is the field customer_id?
- google_cloud_identity_group