çŸåšãåºæ¬èªèšŒã®ã¿ããµããŒãããã³ã³ã·ã¥ãŒããŒã¯ãApiManagerã«ãã£ãŠå ¬éãããŠããAPIã䜿çšã§ããŸããã
å€ãã®ã³ã³ã·ã¥ãŒããŒã¯ãOAuth2ãã³ã¹å šäœãå®è¡ããã®ã«ååãªã«ã¹ã¿ãã€ãºãã§ããŸããããã¬ã¬ã·ãŒã·ã¹ãã ã®ãµããŒãã®å€§éšåã§ãããåºæ¬èªèšŒã䜿çšããŠä¿è·ãããã³ã³ã·ã¥ãŒããŒãµãŒãã¹ãè¿œå ããæ©èœãåããŠãããã»ãšãã©ã®å ŽåããµããŒãããèªèšŒã¹ããŒãã¯ããã ãã§ãã
ããã«ã¯ãããŸããŸãªSAP補åïŒS4ãERPãCustomer CloudãMarketing Cloudãªã©ïŒãããã³ãã®ä»ã®å€ãã®ERPãCRMããã®ä»ã®ãšã³ã¿ãŒãã©ã€ãºã·ã¹ãã ãå«ãŸããŸãã Api Managerã§ã®åºæ¬èªèšŒã®ãµããŒãããªãå Žåãå¯äžã®éžæè¢ã¯æ¬¡ã®ãšããã§ãã
æ°ãããªãªãŒã¹ãããAPIM3.0.0ã¯ãåºæ¬èªèšŒããµããŒãããŸãã çŸåšãç§ãã¡ã®ç°å¢ã§äœ¿çšããŠããŸãã
ããã¯ãšã³ããšã³ããã€ã³ãã®å Žåã¯ãã¯ããã Apiã®å Žåããªãã·ã§ã³ãèŠã€ãããŸããã§ããã
APIãããªãã·ã£ãŒ->ã©ã³ã¿ã€ã æ§æ->ã¢ããªã±ãŒã·ã§ã³ã¬ãã«ã®ã»ãã¥ãªãã£
@ Tomas-Mrazekæ£è§£ã§ããAPIã¯ã©ã€ã¢ã³ãã®åºæ¬èªèšŒããµããŒãããããã«ãªããŸããã äžèšã®ããã«ãã¢ããªã±ãŒã·ã§ã³ã¬ãã«ã®ã»ãã¥ãªãã£ã§Basic
ãªãã·ã§ã³ãæå¹ã«ã§ããŸãã ããã«ãããAPIã³ã³ã·ã¥ãŒããŒã¯ããŠãŒã¶ãŒåãšãã¹ã¯ãŒãã®çµã¿åããã䜿çšããŠãã®APIãåŒã³åºãããšãã§ããŸãã
ããããŸãããåãå Žæãæ¢ããŠããããã§ãã ãã¹ãããã ãã§åäœããŸãã
ããã¯ããå€ãã®è³ªåããããããŸãã
ãµãã¹ã¯ãªãã·ã§ã³ã¯åºæ¬èªèšŒã§ã©ã®ããã«æ©èœããŸããïŒ ãµãã¹ã¯ãªãã·ã§ã³ã«é¢ä¿ãªããã©ã®ãŠãŒã¶ãŒãä»»æã®ApiãåŒã³åºãããšãã§ããããã§ããïŒ ãŠãŒã¶ãŒãç¹å®ã®ã¢ããªã±ãŒã·ã§ã³ã«ãå²ãåœãŠããŠãã¢ããªã±ãŒã·ã§ã³ããµãã¹ã¯ã©ã€ãããŠããAPIã®ã¿ãåŒã³åºãããšãã§ããããã«ããæ¹æ³ã¯ãããŸããïŒ
ProdãšSandboxã®äž¡æ¹ãåãã²ãŒããŠã§ã€ãå ±æããŠããå Žåãåºæ¬èªèšŒãå®è¡ãããšãã«ã©ã¡ããåŒã³åºããããã¯ã©ã®ããã«æ±ºå®ãããŸããïŒ
åºæ¬èªèšŒã§ãŠãŒã¶ãŒåãšãã¹ã¯ãŒãã®ä»£ããã«ã¢ããªã±ãŒã·ã§ã³ããŒãšã¢ããªã±ãŒã·ã§ã³ã·ãŒã¯ã¬ããã䜿çšããå Žåãããã2ã€ã®è³ªåã«çããå¿ èŠã¯ãããŸããã
äœãã足ããªãã®ã§ãããã¥ã¡ã³ããæããŠããã ããã°å¹žãã§ãã
ãµãã¹ã¯ãªãã·ã§ã³ã¯åºæ¬èªèšŒã§ã©ã®ããã«æ©èœããŸããïŒ ãµãã¹ã¯ãªãã·ã§ã³ã«é¢ä¿ãªããã©ã®ãŠãŒã¶ãŒãä»»æã®ApiãåŒã³åºãããšãã§ããããã§ããïŒ ãŠãŒã¶ãŒãç¹å®ã®ã¢ããªã±ãŒã·ã§ã³ã«ãå²ãåœãŠããŠãã¢ããªã±ãŒã·ã§ã³ããµãã¹ã¯ã©ã€ãããŠããAPIã®ã¿ãåŒã³åºãããšãã§ããããã«ããæ¹æ³ã¯ãããŸããïŒ
ããããoauth2ããŒã¯ã³ãšåãããã«æ©èœããã¯ãã§ãã ãµãã¹ã¯ã©ã€ãããããŠãŒã¶ãŒã®ã¿ãAPIãåŒã³åºãããšãã§ããããŒã¯ã³çµç±ãåºæ¬èªèšŒçµç±ãã¯é¢ä¿ãããŸããã
ã¢ããªã±ãŒã·ã§ã³ã¯ãŠãŒã¶ãŒã«å±ããŸããã¢ããªã±ãŒã·ã§ã³ã¯éã®æ¹æ³ã§æ©èœããããããŠãŒã¶ãŒãã¢ããªã±ãŒã·ã§ã³ã«å²ãåœãŠãããšã¯ã§ããŸããã ãããã现ããå¶åŸ¡ãå¿ èŠãªå Žåã¯ã/ carbon consoleã§ããŒã«ãäœæããããããŠãŒã¶ãŒã«å²ãåœãŠãŸãã APIãããªãã·ã£ãŒã§ãAPIèšå®ã«ç§»åããdevportalã®å¯èŠæ§ãç¹å®ã®ããŒã«ã«å€æŽããŸãã 次ã«ããªãœãŒã¹ããšã«ç¹å®ã®åœ¹å²ãæã€ã¹ã³ãŒããäœæãããã®ã¹ã³ãŒãããªãœãŒã¹ã«å²ãåœãŠãŠãã»ãã¥ãªãã£ãæå¹ã«ããŸãã ãµãã¹ã¯ã©ã€ãããããŠãŒã¶ãŒã¯APIãåŒã³åºãããšãã§ããŸããããŠãŒã¶ãŒã«ããŒã«ãå²ãåœãŠãªããšãä¿è·ããããªãœãŒã¹ãåŒã³åºãããšã¯ã§ããŸããã
ProdãšSandboxã®äž¡æ¹ãåãã²ãŒããŠã§ã€ãå ±æããŠããå Žåãåºæ¬èªèšŒãå®è¡ãããšãã«ã©ã¡ããåŒã³åºããããã¯ã©ã®ããã«æ±ºå®ãããŸããïŒ
è¯ã質åã çãã¯ããããŸããã
ã¡ãªã¿ã«ãããã¯ã³ã³ã·ã¥ãŒããŒããŒãšã·ãŒã¯ã¬ããã§ã¯æ©èœããŸããã ãšã³ããã€ã³ãã¯ã/ tokençæAFAIKäžã«æå®ãããŸãã
ããã«ã¡ã¯@ Tomas-Mrazekãš@tmkasun ãããã¯ãŸãã«ä»ã®åºæ¬èªèšŒã«é¢ããç§ã®åé¡ã§ãã èªèšŒã«ã€ããŠã®ç§ã®èããèŠçŽããŠã¿ãŸãããã
OAuth2-ã¢ããªãApiã«ãµãã¹ã¯ã©ã€ãããŸãã ããŒãšç§å¯ã«åºã¥ããŠãç§ãã¡ã¯ã¢ããªãšç°å¢ãç¥ã£ãŠããŸãã ãããã£ãŠãã¢ããªãApiã䜿çšã§ããããã«ããã«ã¯ããµãã¹ã¯ã©ã€ãããã ãã§ãã 次ã«ãããŒãšã·ãŒã¯ã¬ãããç¥ã£ãŠããã°ããã¹ãŠã®ãŠãŒã¶ãŒããã®ApiãåŒã³åºãããšãã§ããŸãã
éçApiããŒ-ããã§ã¯ããŒãããã£ãŠããã®ã§ãã©ã®ã¢ããªã±ãŒã·ã§ã³ãApiãåŒã³åºããŠããããã©ã®ç°å¢ã䜿çšããŠããããç¥ãã®ã«ååãªæ å ±ãåŸãããŸãã ã¢ããªã䜿çšããããã«Apiã«ãµãã¹ã¯ã©ã€ããããšããæŠå¿µã¯åŒãç¶ãé©çšãããŸãã ã¢ããªãApiã«ãµãã¹ã¯ã©ã€ãããã ãã§ãã
çŸåšã®åºæ¬èªèšŒ-ãããããŠãŒã¶ãŒããŒã¹ã®åºæ¬èªèšŒããšåŒã³ãŸãã ã¢ããªãšãµãã¹ã¯ãªãã·ã§ã³ã®æŠå¿µãå®å šã«æŸæ£ããç°ãªãæŠå¿µïŒãŠãŒã¶ãŒããŒã¹ã®ã¢ã¯ã»ã¹èš±å¯ïŒãšãPublisherãŸãã¯Store / DevPortalã®ä»£ããã«Carbonadminã䜿çšãããªã©ã®ç°ãªãããŒã«ã䜿çšããå¿ èŠããããŸãã ãŸããåäžã®ã²ãŒããŠã§ã€ãäž¡æ¹ã«äœ¿çšãããŠããå Žåãæ¬çªç°å¢ãšãµã³ãããã¯ã¹ç°å¢ãåºå¥ããããšã¯ã§ããŸããã ãŸããã»ããã¢ãããšç®¡çãããã«è€éã«ãªããŸãã ãµãã¹ã¯ã©ã€ããããã¢ããªã®ãªã¹ãã確èªããã ãã§ã¯äžååã§ãããŸããcarbon adminã«ã¢ã¯ã»ã¹ããŠããŠãŒã¶ãŒãšæš©éã確èªããå¿ èŠããããŸãã ãŸããApiã®ç¹å®ã®ã¢ããªã®ã¬ãŒãå¶éããããå ŽåããŸãã¯ãµãã¹ã¯ãªãã·ã§ã³ã¬ãã«ãç°ãªãå ŽåããŠãŒã¶ãŒã«å¯ŸããŠãããè¡ãããšã¯ã§ããŸããã
åºæ¬èªèšŒããµããŒããããæ£ãããæ¹æ³ãšããŠç§ãèŠããã®ã¯æ¬¡ã®ãšããã§ãã
ã¢ããªã¬ãã«ã®åºæ¬èªèšŒ-ïŒéçããŒã®ããã«ïŒãŠãŒã¶ãŒãæŠå¿µããå€ãã代ããã«ã¢ããªã±ãŒã·ã§ã³èªèšŒã䜿çšããŸãã ã¢ããªã±ãŒã·ã§ã³ã¯ãŸã Apiã«ãµãã¹ã¯ã©ã€ãããå¿ èŠããããŸãã ã³ã³ã·ã¥ãŒããŒããŒãšã³ã³ã·ã¥ãŒããŒã·ãŒã¯ã¬ããã¯ãåºæ¬èªèšŒã®è³æ Œæ å ±ãšããŠäœ¿çšãããŸãã ããããããšã§ãApp / Apiãµãã¹ã¯ãªãã·ã§ã³ã®æŠå¿µãç¶æããä»ã®ãã¹ãŠãšåãããŒã«ïŒãããªãã·ã£ãŒ/ devPortalãCarbon Adminã¯äžèŠïŒãåŒãç¶ã䜿çšã§ããããŒã«åºã¥ããŠã©ã®ã¢ããªãã©ã®Apiãšã©ã®ç°å¢ã䜿çšããããããããŸãã
ããã«çãæ¹æ³ïŒ
2ã€ã®ãªãã·ã§ã³ããããŸãã çŸåšã®åºæ¬å®è£
ãäžèšã§ææ¡ããããã®ã«å€æŽãããããã¢ããªåºæ¬èªèšŒããšåŒã°ããæ°ããå®è£
ãå®è£
ããŸãã
æ¢åã®åºæ¬èªèšŒã§ãŠãŒã¶ãŒ/ãã¹ãšããŒ/ã·ãŒã¯ã¬ããã®äž¡æ¹ããµããŒããã3çªç®ã®ãªãã·ã§ã³ããããŸããããããæãæ±ããªãã·ã§ã³ã§ãã
åºæ¬èªèšŒã®å®è£ ã ãã§ã¯äžååã§ãã ããšãã°ãCarbonã³ã³ãœãŒã«ãä»ããŠäœæããŠãŠãŒã¶ãŒã«é¢é£ä»ããå¿ èŠãããããŒã«->ã«åºã¥ããŠãdevportalã§ã®APIã®å¯èŠæ§ãå¶éã§ããŸãã
ããã«ã¡ã¯@ Tomas-Mrazekãš@markokocic
ããªãã®ææ¡ãããããšããã€ã³ã©ã€ã³ã§ç§ã®çããèŠã€ããŠãã ããã
ãµãã¹ã¯ãªãã·ã§ã³ã¯åºæ¬èªèšŒã§ã©ã®ããã«æ©èœããŸããïŒ ãµãã¹ã¯ãªãã·ã§ã³ã«é¢ä¿ãªããã©ã®ãŠãŒã¶ãŒãä»»æã®ApiãåŒã³åºãããšãã§ããããã§ããïŒ ãŠãŒã¶ãŒãç¹å®ã®ã¢ããªã±ãŒã·ã§ã³ã«ãå²ãåœãŠããŠãã¢ããªã±ãŒã·ã§ã³ããµãã¹ã¯ã©ã€ãããŠããAPIã®ã¿ãåŒã³åºãããšãã§ããããã«ããæ¹æ³ã¯ãããŸããïŒ
ã¯ã©ã€ã¢ã³ãèŠæ±ã®åºæ¬èªèšŒãµããŒãã§ã¯ããµãã¹ã¯ãªãã·ã§ã³ãååšããå¿
èŠã¯ãããŸããã APIäœæè
ãç¹å®ã®APIã®åºæ¬èªèšŒãµããŒããæå¹ã«ããŠããå Žåããã®APIããµãã¹ã¯ã©ã€ãããã«ïŒã¢ããªã±ãŒã·ã§ã³ããšã«ïŒåŒã³åºãããšãã§ããŸãã
@markokocicã¯ãããµãã¹ã¯ãªãã·ã§ã³ã®ä»çµã¿ã¯ã An Application subscribed to an API
ã§ãã
ããã«ãBaisc authã䜿çšãããšïŒ
ããªãã¯ãŸã åŸãŸãïŒ
ããªãã¯åŸãããŸããïŒ
ProdãšSandboxã®äž¡æ¹ãåãã²ãŒããŠã§ã€ãå ±æããŠããå Žåãåºæ¬èªèšŒãå®è¡ãããšãã«ã©ã¡ããåŒã³åºããããã¯ã©ã®ããã«æ±ºå®ãããŸããïŒ
ã¯ãããŠãŒã¶ãŒåãšãã¹ã¯ãŒãã§ç°å¢ãåºå¥ã§ããŸããã§ããããããã£ãŠãåºæ¬èªèšŒã䜿çšããå Žåãç°å¢ãéžæãããªãã·ã§ã³ã¯ãããŸãããæ¬çªãšã³ããã€ã³ãã䜿çšãããŸãã
@ Tomas-Mrazek
ãšã³ããã€ã³ãã¯ã/ tokençæAFAIKäžã«æå®ãããŸãã
ãããããšã³ããã€ã³ãïŒProdïŒSandboxïŒã¯APIã®äœææã«APIäœæè ã«ãã£ãŠå®çŸ©ãããŸããAPIã³ã³ã·ã¥ãŒããŒã¯ããªãã€ã¬ã¯ãããŒã¹ã®ä»äžã¿ã€ãã䜿çšããå Žåã«ã¢ããªã±ãŒã·ã§ã³ã®ã³ãŒã«ããã¯URLãæäŸã§ããŸãïŒã€ãŸããæé»çïŒ
@markokocicã«é¢ãã
ã¢ããªã¬ãã«ã®åºæ¬èªèšŒ
ããã¯ãçŸåšã®å®è£ ã§ãå¯èœã§ãã ã¯ã©ã€ã¢ã³ãè³æ Œæ å ±ä»äžã¿ã€ãã䜿çšããŠãã¢ããªã±ãŒã·ã§ã³ææè ã«ä»£ãã£ãŠããŒã¯ã³ãã¢ãååŸã§ããŸãã
ã¢ããªã¬ãã«ã®åºæ¬èªèšŒ
ããã¯ãçŸåšã®å®è£ ã§ãå¯èœã§ãã ã¯ã©ã€ã¢ã³ãè³æ Œæ å ±ä»äžã¿ã€ãã䜿çšããŠãã¢ããªã±ãŒã·ã§ã³ææè ã«ä»£ãã£ãŠããŒã¯ã³ãã¢ãååŸã§ããŸãã
@tmkasun
ã¯ããåºæ¬èªèšŒã䜿çšããŠãã¯ã©ã€ã¢ã³ãã®è³æ Œæ
å ±ã䜿çšããŠããŒã¯ã³ãçæããããšã¯å¯èœã§ãã 次ã®ãããªãã®ã䜿çšããŸãã
curl -k -X POST https://localhost:8243/token -d "grant_type=client_credentials"
-H "Authorization: Basic Base64(consumer-key:consumer-secret)"
ãã ããAPIã䜿çšããã«ã¯ãã³ã³ã·ã¥ãŒããŒã次ã®ããšãã§ããå¿ èŠããããŸãã
ããã°ã©ããŒãæ¶è²»è ãããã°ã©ã ãããããããå®è¡ã§ãããã³ããŒãããã°åé¡ãããŸããã 説æããããã«ãåé¡ã¯ã«ã¹ã¿ãã€ãºã§ããªãå€ãã®ã¬ã¬ã·ãŒãšã³ã¿ãŒãã©ã€ãºã¯ã©ã€ã¢ã³ãã«ãããŸãã ããšãã°ãSAPã§å€éšãµãŒãã¹ãå©çšããå Žåãèšå®ã§ããã®ã¯URLãšããªãã·ã§ã³ã§åºæ¬èªèšŒçšã®ãŠãŒã¶ãŒåãšãã¹ã¯ãŒãã ãã§ãã ããã§ã¯ãããŒã¯ã³ããã§ããããããã«ã¹ã¿ã ããããŒãèšå®ãããããããšã¯ã§ããŸããã
äžèšã§ã¢ããªã¬ãã«ã®åºæ¬èªèšŒãšããŠèª¬æããã®ã¯ãå®éã«ã¯ããŒã¯ã³çæã®ã¹ããããã¹ãããããã¯ã©ã€ã¢ã³ãã®è³æ Œæ å ±ã«åºã¥ããŠåºæ¬èªèšŒãçŽæ¥äœ¿çšããŠAPIãåŒã³åºãæ©èœã§ãã
äœãã®ãããªãã®ïŒ
curl -k -X POST https://localhost:8243/my/nice/Api/doSomething -H "Authorization: Basic Base64(consumer-key:consumer-secret)"
ããã«ããããŠãŒã¶ãŒãäœæãèšå®ã管çããããšãªããåãApp toAPIãµãã¹ã¯ãªãã·ã§ã³ã¢ãã«ãçµ±äžãããæ¹æ³ã§äœ¿çšã§ããããã«ãªããŸãã
ãã1ã€ã®å©ç¹ãšããŠãåºæ¬èªèšŒæšæºã§ã¯URLã®äžéšãšããŠæ¿èªããããŒãå«ããããšãã§ããããã次ã®ãããªã¬ã¬ã·ãŒã³ã³ã·ã¥ãŒããŒããµããŒãããããšãã§ããŸãã
curl -k -X POST https://consumer-key:consumer-secret<strong i="25">@localhost</strong>:8243/my/nice/Api/doSomething
ç·šéïŒç§ãããã«ã€ããŠèãããšãããããããæ確ãªååã¯ãAPIã®ã¯ã©ã€ã¢ã³ãã¯ã¬ãã³ã·ã£ã«ããŒã¹ã®åºæ¬èªèšŒã§ãããã
æãåèã«ãªãã³ã¡ã³ã
APIãããªãã·ã£ãŒ->ã©ã³ã¿ã€ã æ§æ->ã¢ããªã±ãŒã·ã§ã³ã¬ãã«ã®ã»ãã¥ãªãã£