微信订阅号能不能实现,我关注后,我手机就能一直保存我的openid.我不知道其他微信客户端是如何开发的。
我已经申请开通了菜单功能,但是我的所有菜单都是view型的,我就希望客户点击view菜单,然后服务器获取该客户的openid,但是我发现我C#无法用Session来跟踪这个openid(就是我发现用户有view这个动作,并且也知道用户是点击的那个菜单来获取这个,这个时候,我也获取到了该用户的OPENID,但是我session后,确定这个session里面有值的,当时的页面是可以输入值的,在另外的页面去无法获取了session值,获取的值为空不是null哟)
我就不知道你们是如何处理这个订阅号的,如果是click事件,我都是能够存储。

解决方案 »

  1.   

    一开始能获取openid,就直接把这个openid存到数据库里不就得了...
      

  2.   

    问题是,我是订阅号,我可以把关注的时候的OPENid存储在数据库中,但是客户第二次使用我这个订阅号的时候,我如何才能知道这个客户的身份呢?我目前采取的菜单是 view型的,没有click(感觉挺麻烦的)
      

  3.   

    view类型的菜单点击后是转到自己开发的网页,网页中获取微信用户信息的步骤是比较烦琐的,
    楼主请参考微信公众平台开发者文档中关于"OAuth2.0网页授权"的说明.
      

  4.   

    Session肯定是不能保存的,只能存到数据库
      

  5.   

    其实,我现在能够在订阅号里面实现 view事件的响应,也在后台看到了前台微信用户的openid,但是我就算存到数据库里面,我怎么知道用户在我这个微信平台里面点击了其他链接,比如:
      

  6.   

    其实,我现在能够在订阅号里面实现 view事件的响应,也在后台看到了前台微信用户的openid,但是我就算存到数据库里面,我怎么知道用户在我这个微信平台里面点击了其他链接,比如:
    我默认的服务器配置地址是:weixin.ashx页面
    微信用户点击:本地新闻(news.aspx)view 菜单,我可以在weixin.ashx页面获取到微信用户的openid,但是这个时候我如何把获取到的哪个openid值传到news.aspx这个页面呢?
    我使用了session,发现,根本不得行,因为weixin.ashx页面有值,但是news.aspx页面没有值。并且这2个页面的seesionId值都不一样的,因此我就不知道如何处理这个问题啦
      

  7.   

    你给全世界每一个人看到的 news.aspx 页面的页面名称(或者url参数)都应该各自是不一样的。怎么能给不同的人,推相同的 url ?
      

  8.   


    我在想...你的news.aspx是不是没用ajax去调用weixin.ashx.......
      

  9.   

    由于你是订阅号,所以不能用OAuth这样的高级接口获取用户基本信息。订阅号只有在和用户发生消息交互了才能判断用户身份,所以你用view菜单就无法获取用户信息了。你可以返回一个特殊的图文消息(比如一个随机码),用户点击这个图文消息,根据随机码在数据库里面查找用户openid,然后就可以识别用户了。
      

  10.   

    这相当于两个人访问了你的服务,一个是操作微信的人,一个是微信系统本身,你无法把两者信息关联的,所以,或者响应操作微信的人的访问,通过OAuth取用户资料;或者影响微信系统本身的,通过CLICK事件,来取用户资料和用户交互,通过回发网址来引导客户二次点击进入网页。
      

  11.   

    取巧的办法。
    CLICK 后根据openid。返回一个图文回复,链接就可以带openiid的参数了。其他为了安全,什么的,就生成唯一码,点过链接,下次点击就提示过期什么的。。其实最好就是用OAuth的验证方式。
      

  12.   

    我现在做的方法是,关注后,保存cookie到手机,同时数据库保存openid
      

  13.   

    打开页面只有走OAuth授权模式才能获取openid
    订阅号不能使用 授权  也就是 不能获取openid
    去认证把
      

  14.   

    订阅号就不用view呗,服务号才可以授权
      

  15.   

    我想问下楼主,你是怎么拿到openID的?
      

  16.   

    你好,我现在也是把openid、nickname等信息存到cookie中后,在当前页面能获取cookie信息,但其他页面获取不到,你有遇到过这问题吗?谢谢
      

  17.   


    你好,我现在也是把openid、nickname等信息存到cookie中后,在当前页面能获取cookie信息,但其他页面获取不到,你有遇到过这问题吗?谢谢我也发现了这个问题,用户关注后就可以获得openid,但是不管放session或者cookie,到了别的页面都获取不到。好奇怪~
      

  18.   

    请问用户关注的时候怎样获得用户openid呢 有Java代码吗
      

  19.   

    记得有人说过第一次关注时用cookies设置很长的过期时间,比如100年,下次再访问就读cookies吧
    如果用户换手机就没辙了,重新发送个消息让他回复?
      

  20.   

    你好,我现在也是把openid、nickname等信息存到cookie中后,在当前页面能获取cookie信息,但其他页面获取不到,你有遇到过这问题吗?谢谢 
    亲们, 我也遇到这个问题了, 你们是怎么解决的?
      

  21.   


    你好,我现在也是把openid、nickname等信息存到cookie中后,在当前页面能获取cookie信息,但其他页面获取不到,你有遇到过这问题吗?谢谢我也发现了这个问题,用户关注后就可以获得openid,但是不管放session或者cookie,到了别的页面都获取不到。好奇怪~
    亲,你这个问题怎么解决的呢?
      

  22.   


    这是你程序的自己的问题,难不成一个 string 紧紧因为它以前代表着 openid 的含义,就会自动消失?这岂不是童话故事?!
      

  23.   


    什么乱七八糟的?怎么又成了“客户第二次使用订阅号了?你往 Session 集合中保存了一个字符串,客户关机之后,第二天打开机器,重新访问页面,Session 集合有值?如果你的意思是这样的,那么先学 web基础和 asp.net。跟微信没半点关系。
      

  24.   

    哦!是把扒坟贴啊。后边的回复我没看,我还以为是刚刚发的帖子。就顶楼的问题本身来说,跟微信无关。不要纠结微信问题。这是对 Session 集合就不会用。
      

  25.   

    不能动的就都不要乱说,首先你们有没有开发过微信乱诱导新手?cookie和seeion在微信中确实会丢失掉不能用。再者微信通过授权页面获取到的openid。不是像传统的登陆一样每次进就登陆一次,而是和手机的微信关联起来的。