收藏
回答

获取用户隐私协议授权接口wx.getPrivacySetting返回参数内容跟什么配置有关?

小程序中有使用到获取微信用户的手机号码 以及 地理位置等隐私信息

为了符合微信平台的最新隐私协议的授权条例,在查看微信文档开发功能的时候发现以下问题,望大家指点迷津一下,感激不尽

我的开发逻辑:调用 wx.getPrivacySetting接口获取返回的needAuthorization参数

如果needAuthorization参数为true 则调用wx.openPrivacyContract接口弹起/打开隐私条例给用户查看

问题:

1、请问我这样的开发逻辑正确吗?

2、隐私条例是否需要自己创建一个窗口 并且以文本的形式展示供用户查看才起作用?

3、wx.getPrivacySetting这个接口返回needAuthorization参数跟什么因素有关,这边一直显示返回是false




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

5 个回答

  • sine
    sine
    2023-08-22

    目前隐私功能已上线。app.json中增加"__usePrivacyCheck__": true配置即可生效。接口详情及完整demo参考 https://developers.weixin.qq.com/miniprogram/dev/framework/user-privacy/PrivacyAuthorize.html

    2023-08-22
    有用
    回复 2
    • 捕影
      捕影
      2023-08-25
      从分享进入不生效吗
      2023-08-25
      回复
    • 囍
      2023-10-24
      __usePrivacyCheck__: true加上之后会使之前部分功能失效 怎么办
      2023-10-24
      回复
  • CRMEB
    CRMEB
    2023-08-03

    针对您提出的问题,我来为您逐个解答:


    开发逻辑是否正确? 您的开发逻辑是正确的。通过调用 wx.getPrivacySetting 接口获取返回的 needAuthorization 参数,可以判断用户的隐私授权情况。如果 needAuthorization 参数为 true,说明需要用户进行授权操作;如果为 false,则表示用户已经授权或未授权的情况下不需要再进行授权操作。


    隐私条例如何展示? 根据微信官方的要求,您需要创建一个页面来展示隐私条款文本,并让用户阅读和确认。可以使用自定义的页面或者使用 <web-view> 组件嵌入外部网页来展示隐私条款内容。用户在查看隐私条款后,可以选择同意或拒绝授权。


    wx.getPrivacySetting 返回的 needAuthorization 参数与何相关? needAuthorization 参数的值取决于用户之前是否已经授权了相关权限。如果用户之前已经授权过相应的权限,那么 needAuthorization 将会返回 false;如果用户之前没有授权或取消了授权,那么 needAuthorization 将会返回 true。


    需要注意的是,用户的授权状态可能会随着时间变化,因此您应该在合适的时机调用 wx.getPrivacySetting 来检查用户的授权状态,并根据返回的结果来决定是否展示隐私条款和引导用户进行相应的授权操作。


    此外,为确保合规性,请仔细阅读微信官方的开发文档和最新隐私协议,并遵循微信平台的相关规定和要求。

    2023-08-03
    有用 2
    回复 9
    • 聪记
      聪记
      2023-08-04
      感谢感谢
      2023-08-04
      回复
    • 聪记
      聪记
      2023-08-04
      needAuthorization 参数的值取决于用户之前是否已经授权了相关权限。
      请问这个授权相关权限是否有时间限制或者什么条件的情况下,需要用户重新授权?
      换句话说就是:请问现在返回为needAuthorization 返回为false 什么条件下会将这个needAuthorization返回为true?
      2023-08-04
      回复
    • CRMEB
      CRMEB
      2023-08-04回复聪记
      needAuthorization 参数的值取决于用户之前是否已经授权了相关权限。当 needAuthorization 的值为 true 时,表示用户需要重新授权;当值为 false 时,表示用户之前已经授权过,不需要重新进行授权。
      在微信小程序中,用户授权通常是与敏感信息或用户数据相关的操作,例如获取用户的地理位置、访问用户的相册或相机等。以下情况下可能会将 needAuthorization 返回为 true,即需要用户重新授权:
      用户主动取消授权:如果用户在之前已经授权了相关权限,但后来在微信设置中主动取消了这些权限,那么在下一次使用相关功能时,needAuthorization 将返回为 true,要求用户重新进行授权。
      用户长时间未使用小程序:如果用户长时间未使用某个小程序,并且该小程序依赖于用户授权的权限,微信客户端可能会自动清除用户的授权状态。在这种情况下,当用户再次访问小程序时,needAuthorization 将返回为 true,需要用户重新授权。
      接口调用出错或过期:有些情况下,当某个接口调用出错或者接口的 access_token 过期时,可能会导致之前的授权失效。这种情况下,needAuthorization 可能会返回为 true,需要用户重新授权。
      需要注意的是,微信对授权的处理机制可能会根据实际情况进行调整,因此具体的条件和时间限制可能会有所变化。在开发小程序时,建议您根据实际需求和微信官方文档的指引来处理授权相关的逻辑,以确保用户在合适的时机进行授权操作。
      2023-08-04
      1
      回复
    • 2023-08-15
      ChatGPT回答?
      2023-08-15
      回复
    • 李超
      李超
      2023-08-16
      你回答了一个毛线。问你怎么让返回ture  你看不懂人话吗
      2023-08-16
      4
      回复
    查看更多(4)
  • 徐正荣
    徐正荣
    2023-08-17

    其实,作为开发人员就是想知道如何能在开发时反复验证实现逻辑没有问题,如果一直返回为false,且微信官方没有提供可行的解释和办法,会让人慌得很,毕竟有个 9 月 15号的期限摆在那里

    2023-08-17
    有用 2
    回复 5
  • ʚ🐽ɞ
    ʚ🐽ɞ
    2023-08-16

    8月16日,上午全是 true

    现在 13:42:30 有都是 false了

    2023-08-16
    有用
    回复 2
    • 欢喜
      欢喜
      2023-08-17
      我的情况也是这样
      2023-08-17
      回复
    • 1011
      1011
      2023-08-29
      现在829依然是false,
      2023-08-29
      回复
  • BOBO
    BOBO
    2023-08-15


    wx.getPrivacySetting接口目前返回的都是false。开发工具里即使清理全部缓存也是false。且按开发文档,wx.getPrivacySetting接口success会返回

    needAuthorization 和 privacyContractName 但是在开发工具控制台里打印返回。没有privacyContractName的返回

    2023-08-15
    有用
    回复 14
    • 梦游
      梦游
      2023-08-15
      返回true就触发不了onNeedPrivacyAuthorization方法了,那开发人员怎么进行呢
      2023-08-15
      回复
    • 梦游
      梦游
      2023-08-15回复梦游
      说错了,是返回false
      2023-08-15
      回复
    • iiiiiiiii
      iiiiiiiii
      2023-08-16回复梦游
      同问
      2023-08-16
      回复
    • 2023-08-16
      现在好了吗
      2023-08-16
      回复
    • BOBO
      BOBO
      2023-08-16回复
      应该没有,明天再说吧
      2023-08-16
      回复
    查看更多(9)
登录 后发表内容