浅谈PHP接入(第三方登录)QQ登录 OAuth2.0 过程中遇到的坑


Posted in PHP onOctober 13, 2017

前言

绝大多数网站都集成了第三方登录,降低了注册门槛,增强了用户体验。最近看了看 QQ 互联上 QQ 登录的接口文档。接入 QQ 登录的一般流程呢,是这样的:先申请开发者 -> 然后创建应用(拿到一组 AppId 和 AppKey)-> 获取 access_token -> 获取 openid -> 调用 openApi 访问或修改用户信息。

然而,从申请个人开发者开始,坑就来了。

1. 申请(个人)开发者

QQ 互联中申请开发者信息的页面,一些重点太过简陋,缺失细节,比如身份证正面照的相关拍摄细节完全没有描述,我当时就直接上传了这个“身份证正面照”,然后等了 3 天, 3 天后收到腾讯开放平台的邮件通知说审核没通过,需要手持身份证。好吧,那就重拍~~。问了客服之后确定了这个“手持身份证”拍摄的正确姿势,然后我换了平台,在腾讯开放平台中改了我的申请信息,重新上传了身份证,我注意到上传框的下面有拍摄提示,看了下是个小姐姐的手持身份证照片,挺好看的,提示友好,比 QQ 互联上的申请页面好多了。又过了 2 天之后审核通过。

所以,申请开发者的话,最好还是在腾讯开放平台申请吧,信息相对详细,也更友好,QQ 互联给人感觉好久没维护了。

2. 接口调用——发布微博

(1)发布微博的接口 add_t:必需参数为 content 微博内容。调用时必须以数组键值对方式把参数传递进去,否则会报错说没提供参数。

$qc = new QC('你的access_token', '你的openid');
$weibo = [
 'content' => '微博内容'
];
$result = $qc->add_t($weibo);

(2)发布带图片微博的接口 add_pic_t:必需参数为 content 微博内容,和 pic 微博图片。调用时同样以键值对方式传参。而且,图片是以二进制流的形式上传的。而文档中有关它的接口示例,我始终没找到。最后,我采用了 CURLFIle 类实现图片流上传。

$qc = new QC('你的access_token', '你的openid');
$weibo = [
 'content' => '微博内容',
 'pic' => new CURLFile('要上传的图片路径')
];
$result = $qc->add_pic_t($weibo);

注意到 pic 参数值为 CURLFile 类的实例(图片路径最好是绝对路径)。网上有些资料介绍了 file(image_path) 和 file_get_contents(image_path) 方式设置 pic 参数,但我这里都没有成功(微博发布成功,但没有图片)。

小结

主要的坑就这两个,审核平台问题和微博图片上传问题。以后可能还会用,所以在这里作以记录,备忘。

以上这篇浅谈PHP接入(第三方登录)QQ登录 OAuth2.0 过程中遇到的坑就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
一个用于MySQL的PHP XML类
Oct 09 PHP
php session_start()关于Cannot send session cache limiter - headers already sent错误解决方法
Nov 27 PHP
DedeCMS dede_channeltype表字段注释
Apr 07 PHP
php获取$_POST同名参数数组的实现介绍
Jun 30 PHP
php中将数组转成字符串并保存到数据库中的函数代码
Sep 29 PHP
php全角字符转换为半角函数
Feb 07 PHP
php计算2个日期的差值函数分享
Feb 02 PHP
php简单实现批量上传图片的方法
May 09 PHP
PHP实现加密文本文件并限制特定页面的存取的效果
Oct 21 PHP
php、mysql查询当天,查询本周,查询本月的数据实例(字段是时间戳)
Feb 04 PHP
php7 参数、整形及字符串处理机制修改实例分析
May 25 PHP
如何在PHP中使用AES加密算法加密数据
Jun 24 PHP
PHP长网址与短网址的实现方法
Oct 13 #PHP
如何直接访问php实例对象中的private属性详解
Oct 12 #PHP
thinkphp中的多表关联查询的实例详解
Oct 12 #PHP
laravel 5异常错误:FatalErrorException in Handler.php line 38的解决
Oct 12 #PHP
利用PHP实现开心消消乐的算法示例
Oct 12 #PHP
深入理解PHP中mt_rand()随机数的安全
Oct 12 #PHP
php表单习惯用的正则表达式
Oct 11 #PHP
You might like
PHP脚本的10个技巧(2)
2006/10/09 PHP
php 遍历显示文件夹下所有目录、所有文件的函数,没有分页的代码
2008/11/14 PHP
PHP的SQL注入实现(测试代码安全不错)
2011/02/27 PHP
Laravel模型事件的实现原理详解
2018/03/14 PHP
基于jquery的气泡提示效果
2010/05/31 Javascript
Js,alert出现乱码问题的解决方法
2013/06/19 Javascript
JS复制到剪贴板示例代码
2013/10/30 Javascript
理运用命名空间让js不产生冲突避免全局变量的泛滥
2014/06/15 Javascript
javascript中的遍历for in 以及with的用法
2014/12/22 Javascript
jQuery使用$.ajax提交表单完整实例
2015/12/11 Javascript
jquery实用技巧之输入框提示语句
2016/07/28 Javascript
详解node nvm进行node多版本管理
2017/10/21 Javascript
vue路由跳转时判断用户是否登录功能的实现
2017/10/26 Javascript
详解React 在服务端渲染的实现
2017/11/16 Javascript
Vue-Router模式和钩子的用法
2018/02/28 Javascript
JS实现的JSON数组去重算法示例
2018/04/11 Javascript
解决elementUI 切换tab后 el_table 固定列下方多了一条线问题
2020/07/19 Javascript
urllib2自定义opener详解
2014/02/07 Python
python pandas 组内排序、单组排序、标号的实例
2018/04/12 Python
python 环境搭建 及python-3.4.4的下载和安装过程
2019/07/20 Python
使用tensorflow显示pb模型的所有网络结点方式
2020/01/23 Python
浅谈python输出列表元素的所有排列形式
2020/02/26 Python
快速解决Django关闭Debug模式无法加载media图片与static静态文件
2020/04/07 Python
Python BeautifulReport可视化报告代码实例
2020/04/13 Python
详解pandas绘制矩阵散点图(scatter_matrix)的方法
2020/04/23 Python
Linux系统下升级pip的完整步骤
2021/01/31 Python
cosme官方海外旗舰店:日本最大化妆品和美容产品的综合口碑网站
2017/01/18 全球购物
英国性感内衣和睡衣品牌:Bluebella
2018/01/26 全球购物
人力资源部培训专员岗位职责
2014/01/02 职场文书
市场部业务员岗位职责
2014/04/02 职场文书
机电一体化毕业生自荐信
2014/06/19 职场文书
旷课检讨书
2015/01/26 职场文书
高中社区服务活动报告
2015/02/05 职场文书
2015年九一八事变纪念活动实施方案
2015/05/06 职场文书
联欢会开场白
2015/06/01 职场文书
spring IOC容器的Bean管理XML自动装配过程
2022/05/30 Java/Android