收藏
回答

如何将getPrivacySetting中的needAuthorization置为true?

现象:调用 wx.requirePrivacyAuthorize() 时无法触发 wx.onNeedPrivacyAuthorization 事件

排查发现API requirePrivacyAuthorize 如果用户之前已经同意过隐私授权,会立即返回success回调,不会触发 wx.onNeedPrivacyAuthorization 事件。

通过调用 wx.getPrivacySetting 查询隐私授权情况发现needAuthorization为false,大佬们有知道通过什么方式能够取消隐私授权状态,将needAuthorization置为true吗






回答关注问题邀请回答
收藏

7 个回答

  • 成意泐
    成意泐
    发表于移动端
    2023-08-16
    当用户从「微信下拉-最近-最近使用的小程序」中删除小程序,将清空历史同步状态。下次访问小程序后,需要重新同步微信当前用户已阅读并同意小程序的隐私政策等收集使用规则。 开发者也可通过此方式进行调试。
    2023-08-16
    有用 1
    回复 8
    • 崔文斌
      崔文斌
      2023-08-16
      昨天相同操作返回一直是false,今天就返回true了,有点坑啊
      2023-08-16
      1
      回复
    • 梦游
      梦游
      2023-08-16
      刚才好好好的,现在有返回false了,也是服了
      2023-08-16
      1
      回复
    • W
      W
      2023-08-16回复梦游
      +1 我也是服了
      2023-08-16
      回复
    • 崔文斌
      崔文斌
      2023-08-16
      +1
      2023-08-16
      回复
    • etc鲍磊
      etc鲍磊
      2023-08-16
      现在一直返回false,开发工具上清除全部缓存也是false,刚做了隐私弹窗,现在是不要了吗?
      2023-08-16
      回复
    查看更多(3)
  • 崔文斌
    崔文斌
    2023-08-23

    微信更新文档,现在可以在app.json添加配置开启隐私功能,开启后隐私相关API 能够正常调用

    2023-08-23
    有用
    回复 3
    • li
      li
      2023-08-30
      getPrivacySetting一直返回NeedPrivacyAuthorization是false啊
      2023-08-30
      回复
    • 要不要饼干🍪
      要不要饼干🍪
      2023-08-30回复li
      +1
      2023-08-30
      回复
    • NullPointerException
      NullPointerException
      2023-09-11
      +1有解决了的么
      2023-09-11
      回复
  • ʚ🐽ɞ
    ʚ🐽ɞ
    2023-08-16

    又没法取消授权了,现在又变成 全部返回 false

    2023-08-16
    有用
    回复
  • Adai
    Adai
    2023-08-16

    现在重试下,设置中取消授权后,needAuthorization可以返回true了

    2023-08-16
    有用
    回复 2
    • 发飙的蜗牛
      发飙的蜗牛
      2023-08-16
      设置中取消授权的页面是啥样的
      2023-08-16
      回复
    • Adai
      Adai
      2023-08-16回复发飙的蜗牛
      早上可以返回getPrivacySetting确实返回true了。
      开发者工具中,授权后通过清理缓存也可以重置为true。现在微信这边又给关了,等官方更新
      2023-08-16
      回复
  • 2023-08-15

    咋不弹呢?

    2023-08-15
    有用
    回复
  • 阿白
    阿白
    2023-08-15

    我也很想知道怎么能让这个协议弹出来,现在怎么调用接口返回的needAuthorization都是 false

    2023-08-15
    有用
    回复
  • CRMEB
    CRMEB
    2023-08-15

    通过调用 wx.openSetting() 方法可以打开微信客户端的设置页,用户可以在该页面中取消对应的隐私授权,进而将 needAuthorization 置为 true。

    以下是示例代码:

    // 打开微信设置页
    wx.openSetting({
      successfunction (res{
        // 用户在设置页进行了操作后的回调
        if (res.authSetting["scope.userInfo"] === false) {
          // 如果用户取消了用户信息的授权,则可以在这里进行相应处理
        }
      }
    })
    

    在成功打开设置页并且用户进行了操作后,可以在回调中判断用户是否取消了需要授权的权限。如果用户取消了对应的隐私授权,needAuthorization 将会被置为 true。

    2023-08-15
    有用
    回复 10
    • 崔文斌
      崔文斌
      2023-08-15
      当前 wx.getSetting 结果为:
      scope.address: false
      scope.invoice: false
      scope.userInfo: false
      scope.userLocation: false
      但是 wx.getPrivacySetting 结果中的 needAuthorization 还是 false。这两个查询用户隐私授权状态的API 之间的关联是什么?
      2023-08-15
      回复
    • CRMEB
      CRMEB
      2023-08-15回复崔文斌
      wx.getSetting():该 API 用于获取用户对小程序权限的授权情况,包括常见的权限如用户信息、地理位置等。它返回的是用户当前的权限设置,即用户是否已经授权或取消了某项权限。
      wx.getPrivacySetting():该 API 用于获取用户对小程序隐私设置的授权情况,例如开启了哪些隐私设置。它返回的是隐私设置的状态,包括 needAuthorization(是否需要再次授权)和 authSetting(各项隐私设置的详细授权情况)。
      2023-08-15
      回复
    • 崔文斌
      崔文斌
      2023-08-15
      官方对于wx.onNeedPrivacyAuthorization的说明中此处的授权是指什么?隐私接口授权还是隐私协议授权
      2023-08-15
      回复
    • 夏味
      夏味
      2023-08-15
      没用啊,我 ios 在小程序设置了关了,现在状态也是不需要授权。我从来没有授权过
      2023-08-15
      回复
    • 崔文斌
      崔文斌
      2023-08-15
      wx.openSetting()打开页面后,并没有能够取消隐私授权项
      2023-08-15
      3
      回复
    查看更多(5)
登录 后发表内容