๐ BOX API ์ฐธ๊ณ ์๋ฃ
BOX API reference๋ฅผ ํตํด ์ํ๋ ๊ธฐ๋ฅ์ ํ์ธํ ํ, ์์ธ ์ฝ๋๋ sample code๋ฅผ ์ฐธ๊ณ ํ์ฌ ๊ฐ๋ฐํ ์ ์์ต๋๋ค.
- BOX API ๋ฌธ์ : BOX๊ฐ ์ ๊ณตํ๋ ๊ธฐ๋ฅ์ ๋ํ ๋ช
์ธ(parameter, function ๋ฑ)์ API ํ
์คํธ ๊ธฐ๋ฅ ์ ๊ณต
https://developer.box.com/reference
- BOX API ํ์ฉ ์ํ ์ฝ๋(์ธ์ด๋ณ) : reference์์ ์ค๋ช
ํ ๊ฐ ๊ธฐ๋ฅ์ ๋ํ ์ธ์ด๋ณ ์ํ ์ฝ๋ ์ ๊ณต
https://developer.box.com/sample-code
โ
BOX ๋ฐ์ดํฐ ์
๋ก๋ ์์ ์ฝ๋(Python)
ํด๋น ์ฝ๋๊ฐ ์ํํ๋ ์์ ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- API ๋ณด์ํค(OAuth2, JWTAuth ๋ฑ)๋ฅผ ํตํด ํ๊ฒ Box client ์ ์
https://github.com/box/box-python-sdk/blob/main/docs/usage/authentication.md#server-auth-with-jwt - ์
๋ก๋ ํ ํ๊ฒ Box์ ํด๋ ID ํ์
https://github.com/box/box-python-sdk/blob/main/docs/usage/folders.md#find-a-folder-for-a-shared-link - ๋ก์ปฌ ํด๋์ ํ์ผ(test.csv)์ 2๋ฒ์์ ์ง์ ํ ํ๊ฒ ํด๋์ ์
๋ก๋
https://github.com/box/box-python-sdk/blob/main/docs/usage/files.md#upload-a-file
from boxsdk import Client, OAuth2, JWTAuth
'''1. ์ธ์ฆ : ํ
์คํธ์ฉ Developer Token ๋ฐฉ์
auth = OAuth2(
client_id='{client_id}',
client_secret='{client_secret_key}',
access_token='{develper_token}'
)
'''
# 1. ์ธ์ฆ : API ์ธ์ฆํค(JSON) ๋ฐฉ์
auth = JWTAuth.from_settings_file('/path/to/settings.json')
client = Client(auth)
# 2. root folder ์ฐพ๊ธฐ - Option
root_folder = client.root_folder().get()
# 3. ๊ณต์ ๋ฐ์ ๋งํฌ์ folder id ์ฐพ๊ธฐ(ํน์ ํด๋ ์๋ ์
๋ก๋์) - Option
# ex) shared_url = 'https://app.box.com/s/rzhz0if6152it8tekrblk357ytio1pod'
shared_url = '{๊ณต์ ๋ฐ์ url ์ฃผ์}'
folder = client.get_shared_item(shared_url)
# 4. local ํด๋์ test.csv ํ์ผ์ 3๋ฒ์์ ์ง์ ํ box ํด๋์ upload
new_file = client.folder(folder.id).upload('test.csv')
print(f'File "{new_file.name}" uploaded to Box with file ID {new_file.id}')
๋ฐ์ํ
'Dev > Etc.' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[CMD] ๊ฒฝ๋ก ๋ด ๋ชจ๋ ํ์ผ ๋ผ์ธ ์ ์ธ๊ธฐ (0) | 2023.08.14 |
---|---|
[VIM] colorscheme ๋ฐ๊พธ๊ธฐ(+ vimcolorscheme ์ฌ์ดํธ) (0) | 2023.05.19 |