You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
34 lines
1.3 KiB
34 lines
1.3 KiB
|
3 weeks ago
|
# 拉取钉钉组织数据:调试 token -> POST /api/system/sync/dingtalk
|
||
|
|
$base = "http://127.0.0.1:8081"
|
||
|
|
$userId = "739564171091247104"
|
||
|
|
|
||
|
|
# 1. verify profile 调试 token
|
||
|
|
$tokResp = Invoke-RestMethod -Method Get -Uri "$base/api/auth/debug/token?userId=$userId" -TimeoutSec 30
|
||
|
|
$token = $tokResp.data
|
||
|
|
if (-not $token) {
|
||
|
|
Write-Output "=== TOKEN FAIL ==="
|
||
|
|
$tokResp | ConvertTo-Json -Depth 5
|
||
|
|
exit 1
|
||
|
|
}
|
||
|
|
$token | Out-File -Encoding ascii "d:\code\crm-backend-matt\tmp\dt-token.txt"
|
||
|
|
Write-Output "token OK (len=$($token.Length))"
|
||
|
|
|
||
|
|
# 2. 触发钉钉组织同步(阻塞,组织规模大时较慢)
|
||
|
|
try {
|
||
|
|
$syncResp = Invoke-RestMethod -Method Post -Uri "$base/api/system/sync/dingtalk" `
|
||
|
|
-Headers @{ Authorization = "Bearer $token" } `
|
||
|
|
-ContentType "application/x-www-form-urlencoded" -TimeoutSec 900
|
||
|
|
Write-Output "=== SYNC OK ==="
|
||
|
|
$syncResp | ConvertTo-Json -Depth 6
|
||
|
|
} catch {
|
||
|
|
Write-Output "=== SYNC FAIL ==="
|
||
|
|
$resp = $_.Exception.Response
|
||
|
|
if ($resp) {
|
||
|
|
try {
|
||
|
|
$sr = New-Object IO.StreamReader($resp.GetResponseStream())
|
||
|
|
Write-Output ("HTTP " + [int]$resp.StatusCode)
|
||
|
|
Write-Output $sr.ReadToEnd()
|
||
|
|
} catch { Write-Output $_.Exception.Message }
|
||
|
|
} else { Write-Output $_.Exception.Message }
|
||
|
|
}
|