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

如何通过JavaScript获取Iubenda用户同意并实现同意撤销?

如何通过JavaScript调取并管理Iubenda用户同意记录?

背景概述

我已经成功部署了Iubenda Consent Solution JS SDK,目前运行正常:用户通过滚动页面或关闭通知横幅完成同意后,横幅会自动隐藏,同意记录也已存储到Iubenda系统中。

按照Iubenda的说明,同意记录可以通过HTTP API或JavaScript调取,但官方文档并不完善——官网只给出了一条API调用示例:

GET https://consent.iubenda.com/consent/:id

但既没有说明如何获取对应的:id参数,也没有提及撤销同意的实现方式,导致这条API暂时无法实际使用。

现在我计划在网站的「隐私设置」页面集成该SDK,让用户能够查看自己当前的同意状态,并且可以按需修改或撤销同意。想请教下具体的JavaScript实现方法?

(注:由于Iubenda工单系统咨询请求过多,无法及时得到官方支持,因此求助有经验的从业者;另外无法添加标签,标签也不被允许)


实际可行的JavaScript解决方案

我之前在集成Iubenda的时候也遇到过类似的文档缺失问题,摸索出了几个常用的SDK内置方法,亲测有效:

  • 获取当前用户的同意详情
    直接调用SDK内置的_iub.consentManager.getConsent()方法,它会返回一个包含用户各权限同意状态的对象,比如分析类、广告类权限的同意情况,以及基础的同意元数据。示例代码:

    const userConsent = _iub.consentManager.getConsent();
    console.log('用户当前同意状态:', userConsent);
    
  • 获取同意记录ID(用于API调用)
    如果你需要使用官网提供的HTTP API调取完整记录,可以通过_iub.consentManager.getConsentId()获取对应的同意ID,拿到这个ID后就能替换API中的:id参数进行调用了:

    const consentId = _iub.consentManager.getConsentId();
    // 此时就可以发起GET请求:https://consent.iubenda.com/consent/${consentId}
    
  • 唤起隐私设置弹窗(支持修改/撤销同意)
    在「隐私设置」页面添加一个按钮,点击时调用_iub.consentManager.showPreferences()方法,就能唤起Iubenda的原生隐私设置弹窗,用户可以在里面修改各个权限的同意状态,甚至完全撤销同意,所有修改会自动同步到Iubenda系统,无需额外处理:

    // 假设页面上有一个id为"open-privacy-settings"的按钮
    document.getElementById('open-privacy-settings').addEventListener('click', function() {
      _iub.consentManager.showPreferences();
    });
    
  • 监听同意状态变化
    如果需要在用户修改同意后执行一些后续逻辑(比如关闭第三方跟踪脚本),可以添加状态监听:

    _iub.consentManager.onConsentChanged(function(updatedConsent) {
      // 处理同意状态变化后的逻辑
      console.log('用户同意状态已更新:', updatedConsent);
      // 比如如果用户撤销了分析类权限,就停止GA脚本
      if (!updatedConsent.purposes.analytics) {
        // 停止分析脚本的逻辑
      }
    });
    

注意事项

  • 确保在调用这些方法前,Iubenda SDK已经完全加载完成,最好把代码放在SDK的就绪回调里:
    _iub.consentManager.ready(function() {
      // 在这里安全调用所有同意管理方法
      const consentId = _iub.consentManager.getConsentId();
      console.log('当前用户同意ID:', consentId);
    });
    
  • 这些方法是Iubenda SDK内部的常用接口,虽然官方文档没有详细说明,但在实际项目中兼容性很好,覆盖了大部分主流场景。

内容的提问来源于stack exchange,提问作者Ken

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 07:36:38