博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
微信、QQ内web页进行二次分享问题小结
阅读量:6173 次
发布时间:2019-06-21

本文共 1144 字,大约阅读时间需要 3 分钟。

二次分享的问题

二次分享是指在微信、QQ内打开由APP分享出的页面再次分享出去,二次分享的基本流程如下:

  1. 从APP分享到第三方,需要APP注册第三方平台帐号并进行相应配置

  2. 为获取用户信息,分享的链接一般都是授权链接,用户点击进入时会要求用户进行授权

  3. 设置相应的分享参数,用户在二次分享时需要用到

微信平台做得比较好,有很详细并一致的文档介绍,但是QQ就很差,开放平台的文档根本没有提到二次分享的设置,通过Google能找到一些零散的资料。这里介绍一下两个平台分别如何实现。

微信

1.微信授权链接示例:'+ WECHATAPPID +'&redirect_uri=your_url?response_type=code&scope=snsapi_userinfo&state=123#wechat_redirect

2.打开链接,重定向,示例链接改变为your_url?code=F7687B50B46F87207D4F4F21A021837F&state=test,在链接参数中获取code的值,去服务器请求获得openid值

3.wechat二次分享,详细见微信sdk

qq

1.QQ授权链接示例:

注意:redirect_uri在拼接链接参数时需要把?、&改成转义字符

2.打开链接,重定向,示例链接改变为your_url?code=F7687B50B46F87207D4F4F21A021837F&state=test,与微信分享同理

3.QQ二次分享(两种方式)

方式一

引用 ,调用setShareInfo

setShareInfo({     title: shareTitle,     summary: shareSummary,     pic:  'pic_url',     url: window.location.href + '&tencentShare=1'});

方式二

设置meta

遇到问题并解决如下:

问题一:由于手机QQ限制,分享URl与页面必须求同个域名,否则设置不生效

但这里二次分享的链接也需要授权,但由于域名不同,所以用了另一种方式解决:设置分享url为当前链接,带上自定义参数,根据参数值在页面加载时重新打开授权链接

问题二:qq这种jdk设置分享在安卓端定制生效,在ios定制无效,这里采用折中的方式使用<meta>定制。由于<meta>设置分享信息无法改变链接,qq默认拿原本链接进行分享,在code过期时,请求服务器会导致报错,因此这里采用 在页面请求失败时再去重新打开授权链接

QQ分享还跟版本相关,设置标题内容上面两种方式都可能不生效,由于没去追究哪个版本问题,因此暂时不处理这个问题

以上

参考资料:

转载地址:http://nlqba.baihongyu.com/

你可能感兴趣的文章
SQL Server为啥使用了这么多内存?
查看>>
DNS服务器综合实验(包含view下主从+子域授权+转发域)
查看>>
windows自带画图软件如何改变橡皮擦大小
查看>>
Centos网络配置(手动设置和自动获取)IP的2种方法
查看>>
我的友情链接
查看>>
IAR 生成hex 文件配置
查看>>
我的友情链接
查看>>
跟我学雨林木风系统制作——4.创建虚拟机
查看>>
Qt编译警告 Z-order assignment: " is not a valid widget.
查看>>
Hive-ORC表,百亿数据分组查询测试结果
查看>>
向学习CCNA,CCNP的朋友推荐几个视频
查看>>
Kali***(二)之被动信息收集
查看>>
LNMP
查看>>
js url转码
查看>>
shell脚本(探测主机是否存活)
查看>>
阿里巴巴年薪800k大数据全栈工程师成长记
查看>>
51CTO学院讲师意见反馈处【2018版】
查看>>
Redis 高负载下的中断优化
查看>>
Django的缓存?
查看>>
802.1ad Provider Bridges 学习笔记
查看>>