You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求助:如何通过Python脚本重新加载Qlik Cloud应用

求助:Python脚本重新加载Qlik Cloud应用失败

我尝试通过Python脚本重新加载Qlik Cloud应用,但遇到了一些问题,以下是已尝试的方案,恳请提供解决方案:

  • 尝试使用Qlik Reloads API:需携带应用ID、Partial参数及JSON Web Token(JWT)发起请求。我按照官方教程生成JWT并编写JavaScript测试代码,但未成功,代码如下:
const fs = require('fs');
const uid = require('uid-safe');
const jwt = require('jsonwebtoken');
const https = require('https')

const payload = {
  jti: uid.sync(32), // 32字节随机字符串
  sub: '(分配用户中显示的我的用户ID)',
  subType: 'user',
  name: '(我的用户名)',
  email: '(我的邮箱)',
  email_verified: true,
};

const privateKey = fs.readFileSync("path/certificate.pem");

// 我不清楚‘kid和issuer必须与IDP配置匹配’的含义
// audience必须设置为qlik.api/login/jwt-session
const signingOptions = {
  keyid: 'my-custom-jwt',
  algorithm: 'RS256',
  issuer: '(主机名)',
  audience: 'qlik.api/login/jwt-session',
};

const myToken = jwt.sign(payload, privateKey, signingOptions);

const qlikUrl = "(主机名)"

const data = JSON.stringify({"appId": "(应用ID)", "partial": true})
const options = {
  hostname: qlikUrl,
  port: 443,
  path: '/api/v1/reloads',
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer '+ myToken
  }
}

https.request(options)
req.write(data)

目前困惑:不清楚“kid和issuer必须与IDP配置匹配”的具体含义,不确定signingOptions中的keyid和issuer是否设置正确;另外代码中req变量未定义,请求也未完成发送与响应处理,这可能也是失败原因之一。

  • 尝试使用Python的qsAPI库:对连接参数存在困惑,IDE提示需传入qrs = qsAPI.QRS(proxy='hostname', user=('userDirectory', 'userId', 'password')),但不清楚userDirectory的含义及获取方式,仅猜测userId为映射用户中的ID。

  • 考虑通过用户证书认证,但不知道在Qlik Cloud中何处下载该证书。

内容的提问来源于stack exchange,提问作者Miquel Àngel Cabot Prats

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 01:05:26