Python 如何使用 boxsdk 獲取 Box Accese Token
繼上一篇
CHG: Python 如何使用 Json 通過 JWT 請求獲取 Box Accese Token (不使用boxsdk)
詳細介紹了如何手動請求,這裡介紹 boxsdk 的使用方法
安裝 boxsdk[jwt]
參考這裡官方安裝的教學
box/box-python-sdk: Box SDK for Python (github.com)
他有分兩個版本記得後面要括號 jwt 會多裝一些基本套件
pip install "boxsdk[jwt]"
單純的執行就可以安裝好了
方法1 直接直接導入 json 檔案
參考自官方的這篇文章
JWT with SDKs - Box Developer Documentation
以及這裡的教學
BOX API(JWT認証)をPythonで使ったときの備忘録 #Python - Qiita
from boxsdk import JWTAuth
from boxsdk import Client
# JSON 檔案的路徑
CONFIG_FILE = 'config.json'
# 準備使用 BOX API
auth = JWTAuth.from_settings_file(CONFIG_FILE)
client = Client(auth)
# 獲取並顯示用戶資訊(API 測試)
user = client.user().get()
print(f'用戶名稱: {user.name} (ID: {user.id}), 電子郵件: {user.login}')
如此就能輕鬆導入了
方法2 手動導入 JWT物件
這裡是手動從 json 中抽取出數據,並導入 JWT 物件的方法
import json
from boxsdk import Client, JWTAuth
# 加載官方 JSON 檔案
with open('config.json') as json_file:
config = json.load(json_file)
# 創建 JWTAuth 認證對象
auth = JWTAuth(
client_id=config['boxAppSettings']['clientID'],
client_secret=config['boxAppSettings']['clientSecret'],
enterprise_id=config['enterpriseID'],
jwt_key_id=config['boxAppSettings']['appAuth']['publicKeyID'],
rsa_private_key_data=config['boxAppSettings']['appAuth']['privateKey'].replace('\\n', '\n'),
rsa_private_key_passphrase=config['boxAppSettings']['appAuth']['passphrase']
)
# 獲取訪問令牌
access_token = auth.authenticate_instance()
print(f"訪問令牌: {access_token}")
# 使用訪問令牌創建 Box 客戶端
client = Client(auth)
# 認證並獲取當前用戶資訊
user = client.user().get()
print(f'用戶名稱: {user.name} (ID: {user.id}), 電子郵件: {user.login}')
本質上跟 方法1 跑的是一樣的代碼只是拉出來手動做而已。
沒有留言:
張貼留言