近期,做一个关于联合第三方平台的登录接入,初次接触开放平台,在此做个笔记

  开发之前的准备如下:

  1、注册新浪微博

  2、访问新浪微博开发平台http://open.weibo.com,如果是企业,申请企业接入,并提交相关资料进行审核;如果是个人开发者,就请申请个人开发者应用,一下以开发者为例

  3、使用新浪微博的开放API,就需要跟新浪申请一个appkey和App Secret,这个是入口,必须获取到这两个才能进行接下来的接入工作

  4、进入http://open.weibo.com完善个人信息之后,必须还要做完身份认证审核,审核完成之后,新浪开放平台就会给出appkey和App Secret

  5、接下来就是如何使用appkey和App Secret了,需要去下载开放平台中文档或者是demo代码,其实提供的文档基本都是技术文档,很多东西没有讲清楚,对于初次接触的人,还是会遇到很多麻烦

  6、新浪开放平台提供了很多不同开发语言的sdk,这里我选择java sdk,下载一个(包含新版接口及OAuth2.0)的zip文件,解压之后可以直接import到eclipse中去,结构如下,包括weibo4j源代码和example代   码

  

  这里有一个config配置文件,打开如下:

  

  之前我们申请的appkey和App Secret就派上用场了,这里的client_ID就是appkey,client_SERCRET就是App Secret,把相应的内容填上去,另外redirect_URI这就是回调地址,

  点击“第三方”——》跳转微博登陆——》登录ok,授权——》回调自己的应用,这里就是回调地址的意思了。

  7、开始去运行测试程序,测试程序在example下,包weibo4j.examples.oauth2下的类OAuth4Code,这里我们需要做一些修改,修改程序中的

  oauth.authorize("code",args[0],args[1]),将这段改成oauth.authorize("code","","all"),至于为什么这么改,这里请阅读接口文档oauth.authorize的使用说明

  假设这里我们还没有回调地址,配置文件中的redirect_URI为空,运行之后,他会自动打开浏览器运行测试,显示如下:

  

  此时的URL地址为:https://api.weibo.com/oauth2/authorize?client_id=3613929600&redirect_uri=&response_type=code&state=&scope=all

  这里说明我的appkey和App Secret是有效的,这里由于我们没有创建正式的应用,新浪无法识别我的来源

  8、在开放平台上创建应用,如下图所示

  

  这里有三类应用,网站接入、站内应用、移动应用,如果是企业行为,有公开的域名可以访问,并且应用程序是通过域名进行访问,这里任何一种方式都可以用,但如果我们只是简单开发者,没有公用域名,比如是内  部局域网模式,ip为内网地址192.168.1.*开头,本地127.0.0.1之类的,这里就只能选择创建站内应用,填写如下

  

  这里红色框标记的地方就是回调地址,如果我没有公网ip和域名,局域网玩玩就这么填写就ok了,不过这里不能用localhost代替127.0.0.1,这里按照配置要求完成,这个配置里面的要求是很严谨的,

  特别是下面的几个应用图标,总之比较麻烦,这里结束了之后,就可以提交审核了。

  9、提交审核之后,第一次大约1天时间,新浪开放平台就会发邮件到你的邮箱,告知你审核结果,不过这里审核结果失败与否没有关系,关键就是要提交审核,没有审核成功,这里照常可以用

  

  10、完成测试工程中的配置文件redirect_URI,这里必须与创建应用时填写的【应用实际地址】保持一致,这就是回调地址!完成配置之后,再次运行OAuth4Code.java,如图所示

  

  这里就跳转到新浪微博的登录页面,登录新浪微博的账户之后,就需要点击授权,表示你的微博帐号相关内容可以被接入的平台分享你的信息等等,授权结束之后,

  会返回一个code,这个code非常重要,就是我们整个接入第三方平台的开门钥匙,有这个code之后,我们就可以获取用户的access_token,UID等内容,就相当于整个接入过程打通了,

  11、调用新浪微博的开放API

  这里就需要研读这些API了,从而满足接入要实现的需求了,首先要熟悉的就是OAuth 2.0授权接口,http://open.weibo.com上都可以查,如下:

  

  12、通过一个Servlet程序调用开放API获取新浪微博的UID、微博名称示例  

response.setContentType("text/html;charset=UTF-8");String accessToken = null ;String uid = null ;String screenName = null ;        String username = null ;AccessToken accessTokenObj = null ;Oauth oauth2 = new Oauth();try {out = response.getWriter();accessTokenObj = oauth2.getAccessTokenByCode(code) ;logger.info(accessTokenObj);accessToken = accessTokenObj.getAccessToken() ;oauth2.setToken(accessToken) ;Account account = new Account() ;account.client.setToken(accessToken) ;JSONObject uidJson = account.getUid() ;uid = uidJson.getString("uid") ;Users users = new Users() ;users.client.setToken(accessToken) ;User weiboUser = users.showUserById(uid) ;username = weiboUser.getName() ;screenName = weiboUser.getScreenName() ;} catch (WeiboException | IOException | JSONException e) {e.printStackTrace();}out.println("微博访问Token_Info:" + accessTokenObj + "\t");out.println("微博访问Token:" + accessToken + "\t");out.println("微博用户-Uid:" + uid + "\t");out.println("微博用户-名称:" + screenName + "\t");out.flush();out.close();*/

关于接入新浪微博第三方登录相关推荐

  1. U盟用新浪微博第三方登录 文件不存在 c8998 解决办法

    PlatformConfig.setSinaWeibo昨天发现一个新浪微博第三方登录的时候始终报 "文件不存在(C8998)",网上查了很多 都没有找到确切的解决办法,在  Pla ...

  2. web接入QQ第三方登录

    原文地址:https://blog.csdn.net/cwfjimogudan/article/details/54135957 这是第三方登录的第二篇,关于web接入微博第三方登录可以参考我之前的博 ...

  3. SpringBoot项目接入支付宝第三方登录

    今年大四毕业,由于新冠肺炎疫情的原因,开学和毕业答辩的时间都进行了推迟,因此有较多的时间对毕设项目做修改和调整,便在项目中接入微信和支付宝的第三方登录.在此需要说明,微信和支付宝的开发者平台大体一致, ...

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

    前言 绝大多数网站都集成了第三方登录,降低了注册门槛,增强了用户体验.最近看了看 QQ 互联上 QQ 登录的接口文档.接入 QQ 登录的一般流程是这样的:先申请开发者 -> 然后创建应用(拿到一 ...

  5. 实现新浪微博第三方登录获取用户信息

    第一步:创建Android项目下载新浪sdk 下载地址:https://github.com/sinaweibosdk/weibo_android_sdk 里面包含签名工具和新浪官方的debug.ke ...

  6. web接入微博第三方登录

    微博第三方登录 最近刚好在学习第三方登录,这里先做一下微博第三方登录的记录,因为qq第三方登录必须要完成网站备案后才能进行,后面再进行补充. 大致可以分成下面几个步骤 下面根据我自己的实现过程做一下总 ...

  7. Spring Boot 接入 GitHub 第三方登录,只要两行配置!

    点击上方 好好学java ,选择 星标 公众号重磅资讯,干货,第一时间送达 今日推荐:14 个 github 项目!个人原创100W +访问量博客:点击前往,查看更多 本文地址:https://www ...

  8. android接入原生第三方登录(微信登录、QQ登录、新浪微博登录)

    第一步:去对应的平台上注册app的相关信息,这一步,可参考我的另外一个篇,关于接入亲加通信云的文章 各个平台注册应用信息的地址如下:                新浪微博               ...

  9. php新浪微博第三方登录接口,手机第三方新浪微博登录php api实现分析

    提供api,POST方式,根据传递过来的微博uid/appkey,判断该用户的ID是否在自己的数据库中. 如果有,直接登录返回用户登录api的json. 如果没有,就将该用户的ID+token请求微博 ...

最新文章

  1. Java项目:药店信息管理系统(java+SSM+JSP+layui+maven+mysql)
  2. R语言_高级数据管理
  3. linux 普通用户登陆系统su - root的时候报错su: Authentication failure
  4. 手机ppt怎么添加页码_全网超详细的操作教程,手把手教你使用高效PPT小技巧!...
  5. hbase 生成文件_HBase:为客户行为生成搜索点击事件统计信息
  6. 登录mysql一闪而过_解决MySQL 一闪而过的情况
  7. Simulink之三相半波可控整流电路
  8. redis主线程阻塞的情形
  9. 深拷贝与浅拷贝、深复制与浅复制
  10. 「日常温习」Hungary算法解决二分图相关问题
  11. oracle聚合函数
  12. es 的分布式架构原理
  13. fastadmin表格操作
  14. 慢就是快的人生哲理_感悟人生:慢是一种心态
  15. 详解Google Chrome浏览器(操作篇)(上)
  16. ios代码中的内存泄露,内存检测工具leaks 检测不出来
  17. 工业机器人技术全解析,值得收藏!
  18. 云重磅 |央视专访任正非;拼多多被薅上亿羊毛;甲骨文对云未来的10项技术预测...
  19. 动物模型系列之常见肿瘤动物模型
  20. 项目实训2021.07.08

热门文章

  1. LQ0198 圆周率【程序填空】
  2. FFmpeg系列-视频解码后保存帧图片为ppm
  3. Smith(史密斯)数的求法
  4. EAUML日拱一卒 总目录
  5. 用 python selenium 爬简书,Python自动化领域之 Selenium WebDriver 学习第2篇
  6. 数字化转型的三个重点方向
  7. 2022腾讯云年终双十一活动攻略汇总!
  8. C Primer Plus(第六版)第十六章 编程练习答案
  9. LW_OOPC.H 面向对象C MISOO 头文件
  10. (中篇)中高级前端大厂面试秘籍,寒冬中为您保驾护航,直通大厂