ํ๋ก๋น์ ๋ ํด์ ๋ ์ฌ์ฉ์์ ์ฝํ ์ธ ์ด์
์ด ๋ฌธ์์์๋ ์ํฌ์คํ์ด์ค ์์ ์๊ฐ ์ํฐํ๋ผ์ด์ฆ ์๊ธ์ ์ํฌ์คํ์ด์ค์์ ํ๋ก๋น์ ๋ ํด์ ๋ ๋ฉค๋ฒ์ ์ฝํ ์ธ ๋ฅผ ์ด์ ํ๋ ๋ฐฉ๋ฒ์ ์ค๋ช ํด ๋๋ฆด๊ฒ์ ๐
์ฌ์ฉ์๊ฐ ์ ๊ฑฐ๋์๊ฑฐ๋, ํ๋ก๋น์ ๋ ํด์ ๋์๊ฑฐ๋, ์ํฌ์คํ์ด์ค๋ฅผ ๋๊ฐ๋ ๊ฒฝ์ฐ, ๊ฐ์ธ ํ์ด์ง ์ฝํ ์ธ ๋ฅผ ๋จ๊ธฐ๊ณ ๊ฐ ์ ์์ต๋๋ค. ์ํฐํ๋ผ์ด์ฆ ์๊ธ์ ์ํฌ์คํ์ด์ค ์์ ์๋ ๋จ์ ์ฝํ ์ธ ๋ฅผ ๋ค๋ฅธ ์ฌ์ฉ์์๊ฒ ์ด์ ํ์ฌ ์ฝ๊ฒ ๋ณต๊ตฌํ ์ ์์ต๋๋ค.
์ฐธ๊ณ : ์ํฌ์คํ์ด์ค๋ฅผ ๋๊ฐ ์ฌ์ฉ์์ ๊ฐ์ธ ํ์ด์ง ์ฝํ ์ธ ์ ์ ์ฉ๋๋ ํ๋ก์ธ์ค์ ๋๋ค. ํ์ฌ ์ํฌ์คํ์ด์ค ๋ฉค๋ฒ์ ๊ณต์ ๋ ์ฝํ ์ธ ๋ ์ด์ ํ ์ ์์ต๋๋ค.
์ํฌ์คํ์ด์ค ์์ ์๋ ๋ค์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ ์ํฌ์คํ์ด์ค๋ฅผ ์ต๊ทผ์ ๋๊ฐ ์ฌ์ฉ์์ ๊ฐ์ธ ํ์ด์ง ์ฝํ ์ธ ๋ฅผ ์ด์ ํ ์ ์์ต๋๋ค.
์ฌ์ฉ์๊ฐ ํ์ฌ ์ํฌ์คํ์ด์ค์ ์ผ์์ด ์๋ ๊ฒฝ์ฐ(ํ๋ก๋น์ ๋ ํด์ ๋จ)
์ฌ์ฉ์์๊ฒ ๊ฐ์ธ ํ์ด์ง๊ฐ ์๋ ๊ฒฝ์ฐ
์ฌ์ฉ์์ ๊ฐ์ธ ํ์ด์ง๊ฐ ๋ค๋ฅธ ์ฌ์ฉ์์๊ฒ ์ด๋ฏธ ์ด์ ๋์ง ์์ ๊ฒฝ์ฐ
์ฌ์ฉ์๊ฐ ์ํฌ์คํ์ด์ค๋ฅผ ๋๊ฐ ์ง 30์ผ์ด ์ง๋์ง ์์ ๊ฒฝ์ฐ
์ํฌ์คํ์ด์ค์์ ์ํฐํ๋ผ์ด์ฆ ์๊ธ์ ๋ฅผ ๊ตฌ๋ ์ค์ธ ๊ฒฝ์ฐ
์ค์ ์ผ๋ก ์ด๋ํ ํ๋ฉค๋ฒ์น์ ์ ํด๋ฆญํ์ธ์.์ต๊ทผ ๋๊ฐํญ์ผ๋ก ์ด๋ํ์ธ์.ํ๋ก๋น์ ๋ ํด์ ๋ ์ฌ์ฉ์์ ๊ฒฝ์ฐ('์ต๊ทผ ๋๊ฐ ์ฌ์ฉ์'), ํด๋น ์ฌ์ฉ์์ ๊ฐ์ธ ํ์ด์ง๋ฅผ ๋ณด๋ด๊ณ ์ ํ๋ ๋์์ ์ ํํ์ธ์.
ํ์ธ์ฐฝ์ด ํ์๋ฉ๋๋ค.
๊ฐ์ธ ํ์ด์ง ์ด์ ์ ์ ํํ์ฌ ๊ฐ์ธ ํ์ด์ง ์ด์ ํ๋ก์ธ์ค๋ฅผ ๊ณ์ํ์ธ์.ํ๋ก๋น์ ๋ ํด์ ๋ ์ฌ์ฉ์์ ๋ชจ๋ ๊ฐ์ธ ํ์ด์ง๊ฐ ์ด์ ๋์ ์ฌ์ฉ์์ ์ฌ์ด๋๋ฐ์ ํ์๋๋ฉฐ, ์๋ก์ด ์ต์์ ๊ฐ์ธ ํ์ด์ง ์์ ์ค์ฒฉ๋ฉ๋๋ค.
์ฐธ๊ณ : ๋ชจ๋ ๊ฐ์ธ ํ์ด์ง๊ฐ ์ฌํ ๋น๋ ์ฌ์ฉ์๋ ๋ ์ด์ ์ต๊ทผ ๋๊ฐ ๋ฆฌ์คํธ์ ๋ํ๋์ง ์์ต๋๋ค.
์ํฐํ๋ผ์ด์ฆ ์๊ธ์ ์ํฌ์คํ์ด์ค ์์ ์๋ ์ฝํ ์ธ ์ด์ API๋ฅผ ์ฌ์ฉํ์ฌ ์ต๊ทผ์ ์ ๊ฑฐ๋ ์ํฌ์คํ์ด์ค ๋ฉค๋ฒ์ ๊ฐ์ธ ํ์ด์ง๋ฅผ ๋ค๋ฅธ ๋ฉค๋ฒ์๊ฒ๋ก ์ด์ ํ ์ ์์ต๋๋ค. ์ด API๋ ์์์ ์ธ๊ธํ ๊ฒ๊ณผ ๋์ผํ ์๊ฒฉ ๊ธฐ์ค์ ์๊ตฌํฉ๋๋ค.
์ด API๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด ์ํฐํ๋ผ์ด์ฆ ์๊ธ์ ์ํฌ์คํ์ด์ค ์์ ์๊ฐ ํ ์ ์๋ ์์ ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
์ฝํ ์ธ ์ด์ ๊ธฐ๋ฅ์ผ๋ก ๋ด๋ถ์ฉ ํตํฉ์ ์๋ก ๋ง๋ญ๋๋ค.
์ฝํ ์ธ ๋ฅผ ์ด์ ํ๋ ค๋ฉด ๋ค์ API ํธ์ถ์ ์ฌ์ฉํ์ธ์.
curl -X POST '<https: mem-invalid-attributes-holder=api.notion.com mem-invalid-attributes-holder=v1 mem-invalid-attributes-holder=users mem-invalid-attributes-holder=transfer>
' \\
-H 'Authorization: Bearer <token>' \\
-H 'Notion-Version: 2022-06-28' \\
-H "Content-Type: application/json" \\
-d '{ "from_user_id": <from_user_id>,"to_user_id":<to_user_id>}'
from_user_id๋ ์ ๊ฑฐ๋ ์ฌ์ฉ์๋ฅผ ๋ํ๋ ๋๋ค. SCIM ์นํ ์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ user_id๊ฐ ํ์ด๋ก๋์ ํฌํจ๋ฉ๋๋ค.to_user_id๋ ์ด์ ๋ ์ฝํ ์ธ ์ ์์ ์๋ฅผ ๋ํ๋ ๋๋ค. ๋ฆฌ์คํธ ์ฌ์ฉ์ API ์๋ํฌ์ธํธ๋ฅผ ์ฌ์ฉํ์ฌ Notion ์คํ API๋ฅผ ์ฟผ๋ฆฌํ๊ฑฐ๋ ID ๊ณต๊ธ์๊ฐ ์ ๊ณตํ API๋ฅผ ์ฌ์ฉํ์ฌ ์ด user_id๋ฅผ ๊ฒ์ํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, Okta๋ listAppUsers API๋ฅผ ์ ๊ณตํฉ๋๋ค. appUser์ externalID๋ Notion ์ฌ์ฉ์ ID์ ๋๋ค.
curl '<https: mem-invalid-attributes-holder=api.notion.com mem-invalid-attributes-holder=v1 mem-invalid-attributes-holder=users>
' \\\\
-H 'Authorization: Bearer '"$NOTION_API_KEY"'' \\\\
-H "Notion-Version: 2022-06-28"
3. ์ ํจ์ฑ ๊ฒ์ฌ๊ฐ ์คํจํ๋ฉด API์์ ์คํจ ์๋ต์ ๋ฐํํฉ๋๋ค. ์์ ์ ์์ํ ์ฌ์ฉ์๊ฐ ์ฌ์ ํ ์ํฌ์คํ์ด์ค์ ์๊ฑฐ๋ ์ํฌ์คํ์ด์ค๊ฐ ์ํฐํ๋ผ์ด์ฆ ์๊ธ์ ๋ฅผ ์ด์ฉํ์ง ์๋ ๊ฒฝ์ฐ ์ ํจ์ฑ ๊ฒ์ฌ๊ฐ ์คํจํ ์ ์์ต๋๋ค. ์ ํจ์ฑ ๊ฒ์ฌ๊ฐ ํต๊ณผ๋๋ฉด API๋ ์ฑ๊ณต ์๋ต์ ๋ฐํํ๊ณ ์ด์ ์ฒ๋ฆฌ๋ฅผ ์์ํฉ๋๋ค. ์ด์ ์ด ์๋ฃ๋๋ฉด ์ด์ ๋ ์ฝํ ์ธ ๊ฐ ์์ ์์ ๋น๊ณต๊ฐ Notion ์ฝํ ์ธ ์ ํ์๋ฉ๋๋ค. ์์ ์๋ ๋ฉ์์ง์ ์ด๋ฉ์ผ ์๋ฆผ๋ ๋ฐ๊ฒ ๋ฉ๋๋ค.
์ฌ์ฉ์๊ฐ ์ํฌ์คํ์ด์ค๋ฅผ ๋ ๋ฌ๋ค๊ฐ ์ง๋ 30์ผ ๋ด์ ๋ค์ ๊ฐ์ ํ๋ ๊ฒฝ์ฐ ์ํฌ์คํ์ด์ค ์์ ์๋ ํด๋น ์ฌ์ฉ์์ ๊ฐ์ธ ํ์ด์ง, ๊ณต์ ๋ ํ์ด์ง, ๊ทธ๋ฃน ๋ฉค๋ฒ์ญ, ํ์คํ์ด์ค ๋ฉค๋ฒ์ญ์ ๋ณต์ํ ์ ์์ด์.
์ค์ โ ์ฌ๋ ๋๋ ๋ฉค๋ฒ(์๊ธ์ ์ ๋ฐ๋ผ ์์ด)๋ก ์ด๋ํ์
์ ์ํฌ์คํ์ด์ค์ ๋ฉค๋ฒ๋ฅผ ๋ค์ ์ถ๊ฐํ์๋ฉด ๋ฉ๋๋ค. ๋ฉค๋ฒ๋ฅผ ๋ค์ ์ถ๊ฐํ ํ ๊ฐ์ ์ค์ ๋ฉ๋ด์์ ํด๋น ๋ฉค๋ฒ์ ์ด๋ฆ ์์ ์๋ ํ์ดํ๋ฅผ ์ ํํด ์ฌ์ฉ ๊ถํ๊ณผ ์ฝํ
์ธ ๋ฅผ ๋ณต์ํ ์ ์์ต๋๋ค.

