fix(business): follow Kingdee token request body
Align the generated Kingdee token request with the official enhanced-token document: client_id, client_secret, username, accountId, language, automatic nonce, and automatic current timestamp. Treat expires_in as milliseconds by default and update docs/tests accordingly. Validation: python3 -m unittest discover -v; python3 -m compileall obsidian_wiki tests; git diff --check.
This commit is contained in:
@@ -518,7 +518,10 @@ def cmd_business_sync_kingdee(args: argparse.Namespace) -> int:
|
||||
overrides = _kingdee_cli_overrides(args)
|
||||
config = load_kingdee_config(config_path)
|
||||
config.update(overrides)
|
||||
if created and not (config.get("KINGDEE_ACCESS_TOKEN") or config.get("KINGDEE_TOKEN_URL")):
|
||||
has_official_token_credentials = all(
|
||||
config.get(key) for key in ("KINGDEE_CLIENT_ID", "KINGDEE_CLIENT_SECRET", "KINGDEE_USERNAME", "KINGDEE_ACCOUNT_ID")
|
||||
)
|
||||
if created and not (config.get("KINGDEE_ACCESS_TOKEN") or config.get("KINGDEE_TOKEN_BODY_JSON") or has_official_token_credentials):
|
||||
raise RuntimeError(f"Kingdee config template created at {Path(config_path or '.runtime/kingdee.env').expanduser()}; fill it and rerun")
|
||||
if args.dry_run_auth:
|
||||
token = get_kingdee_access_token(config, cache_path=token_cache_path_for_config(config_path))
|
||||
|
||||
Reference in New Issue
Block a user