新浪微博账号登陆获取了用户的授权信息后如何获取用户的账号?

如何获取得到新浪的授权? - easywang - 博客园
1.首先你要成为新浪的开发者
& 在成为开发者之前,当然你要是新浪微博的用户:注册新浪的账号。
进入新浪的开放平台:
首先成为新浪的开发者,你要提交申请:
当然按照步骤(实际不用支付也可以)
填写的东西
当然身份证必须要写的,填写好完以后,并不是能立即能得到新浪的审核的,我们大概要等一天会收到新浪的审核回复。
2.当审核通过后,我们成为了新浪的开发者,我们就可以创建我们自己的应用。
此应用是个人应用,创建微链接应用。进入
然后我们选择移动应用,填写我们应用的名称
当我们收到审核后我们会得到新浪的邮件回复这时候,我们创建应用成功。实际上再填写应用信息时,需要注意:appleID;和 buddleID 是必填的。但可以任意填。在应用穿件时,其他按照要求即可。
3.获取QAuth认证
第一步获取未授权,的Request Token(跳到登录页面)
/oauth2/authorize?client_id=183&redirect_uri=http://www.exampl
申请应用时分配的AppKey。
redirect_uri
授权回调地址,站外应用需与设置的回调地址一致,站内应用需填写canvas page的地址。
b.根据授权回调地址,得到
//同意授权后会重定向
/response&code=CODE
用于调用access_token,接口获取授权后的access token。
access token 就是我们所要用的。这样我们前期的工作就完成了android 怎么得到新浪微博的用户昵称
[问题点数:40分,结帖人ramesyang]
android 怎么得到新浪微博的用户昵称
[问题点数:40分,结帖人ramesyang]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
本帖子已过去太久远了,不再提供回复功能。一个Sina微博授权登录,分享,获取用户信息,好友信息的Demo,希望对大家有所帮助。
&本菜近期由于工作需要,在大牛的要求下,用sina官方平台提供的SDk的源码(非静态库)实现了微博的授权登录,分享,并获取用户信息,好友信息,(包括昵称,头像,userID,token,等等)写完了之后对整体的体系,有了深刻的理解,希望对与本菜一样刚工作不久的新人朋友有所帮助,话休繁说,上代码。
// 这个是Sina的sdk源码。(大牛提供)
// 这个是现示登录按钮的界面,分享和获取好友信息的我也写在这个页面上了
// 这个是登录的验证界面(就是新浪的那个WebView)
// 这个界面关键的代码就是
// 这个是一个Sina微博的管理器
// 这个界面的关键代码就是实现新浪微博的授权协议
// 以及请求成功后的这个回调方法(user的信息我已经给他接收了)
// 其他的分享和获取互相关注的人的信息方法也喝这个差不多,有想了解的,或者疑问和批评的朋友可以联系我
QQ:,(加我的时候写下备注,3Q)
& 开源中国(OSChina.NET) |
开源中国社区(OSChina.net)是工信部
指定的官方社区开发者必读
开发者工具
获取接口调用凭据
消息加解密
自定义菜单管理
数据统计接口
微信JS-SDK
微信小店接口
微信卡券接口
微信门店接口
微信智能接口
设备功能介绍
多客服功能
摇一摇周边
微信连Wi-Fi
出自微信公众平台开发者文档
如果用户在微信客户端中访问第三方网页,公众号可以通过微信网页授权机制,来获取用户基本信息,进而实现业务逻辑。
关于网页授权回调域名的说明
1、在微信公众号请求用户网页授权之前,开发者需要先到公众平台官网中的开发者中心页配置授权回调域名。请注意,这里填写的是域名(是一个字符串),而不是URL,因此请勿加
2、授权回调域名配置规范为全域名,比如需要网页授权的域名为:,配置以后此域名下面的页面 、
都可以进行OAuth2.0鉴权。但 、
3、如果公众号登录授权给了第三方开发者来进行管理,则不必做任何设置,由第三方代替公众号实现网页授权即可
关于网页授权的两种scope的区别说明
1、以snsapi_base为scope发起的网页授权,是用来获取进入页面的用户的openid的,并且是静默授权并自动跳转到回调页的。用户感知的就是直接进入了回调页(往往是业务页面)
2、以snsapi_userinfo为scope发起的网页授权,是用来获取用户的基本信息的。但这种授权需要用户手动同意,并且由于用户同意过,所以无须关注,就可在授权后获取该用户的基本信息。
3、用户管理类接口中的“获取用户基本信息接口”,是在用户和公众号产生消息交互或关注后事件推送后,才能根据用户OpenID来获取用户基本信息。这个接口,包括其他微信接口,都是需要该用户(即openid)关注了公众号后,才能调用成功的。
关于网页授权access_token和普通access_token的区别
1、微信网页授权是通过OAuth2.0机制实现的,在用户授权给公众号后,公众号可以获取到一个网页授权特有的接口调用凭证(网页授权access_token),通过网页授权access_token可以进行授权后接口调用,如获取用户基本信息;
2、其他微信接口,需要通过基础支持中的“获取access_token”接口来获取到的普通access_token调用。
关于UnionID机制
1、请注意,网页授权获取用户基本信息也遵循UnionID机制。即如果开发者有在多个公众号,或在公众号、移动应用之间统一用户帐号的需求,需要前往微信开放平台(open.)绑定公众号后,才可利用UnionID机制来满足上述需求。
2、UnionID机制的作用说明:如果开发者拥有多个移动应用、网站应用和公众帐号,可通过获取用户基本信息中的unionid来区分用户的唯一性,因为同一用户,对同一个微信开放平台下的不同应用(移动应用、网站应用和公众帐号),unionid是相同的。
关于特殊场景下的静默授权
1、上面已经提到,对于以snsapi_base为scope的网页授权,就静默授权的,用户无感知;
2、对于已关注公众号的用户,如果用户从公众号的会话或者自定义菜单进入本公众号的网页授权页,即使是scope为snsapi_userinfo,也是静默授权,用户无感知。
具体而言,网页授权流程分为四步:
1、引导用户进入授权页面同意授权,获取code
2、通过code换取网页授权access_token(与基础支持中的access_token不同)
3、如果需要,开发者可以刷新网页授权access_token,避免过期
4、通过网页授权access_token和openid获取用户基本信息(支持UnionID机制)
在确保微信公众账号拥有授权作用域(scope参数)的权限的前提下(服务号获得高级接口后,默认拥有scope参数中的snsapi_base和snsapi_userinfo),引导关注者打开如下页面:
若提示“该链接无法访问”,请检查参数是否填写错误,是否拥有scope参数对应的授权作用域权限。
尤其注意:由于授权操作安全等级较高,所以在发起授权请求时,微信会对授权链接做正则强匹配校验,如果链接的参数顺序不对,授权页面将无法正常访问
参考链接(请在微信客户端中打开此链接体验)
Scope为snsapi_base
https%3A%2F%%2Fphp%2Findex.php%3Fd%3D%26c%3DwxAdapter%26m%3DmobileDeal%26showwxpaytitle%3D1%26vb2ctag%3D4_4_60&response_type=code&scope=snsapi_base&state=123#wechat_redirect
Scope为snsapi_userinfo
尤其注意:跳转回调redirect_uri,应当使用https链接来确保授权code的安全性。
公众号的唯一标识
redirect_uri
授权后重定向的回调链接地址,请使用urlencode对链接进行处理
response_type
返回类型,请填写code
应用授权作用域,snsapi_base (不弹出授权页面,直接跳转,只能获取用户openid),snsapi_userinfo (弹出授权页面,可通过openid拿到昵称、性别、所在地。并且,即使在未关注的情况下,只要用户授权,也能获取其信息)
重定向后会带上state参数,开发者可以填写a-zA-Z0-9的参数值,最多128字节
#wechat_redirect
无论直接打开还是做页面302重定向时候,必须带此参数
下图为scope等于snsapi_userinfo时的授权页面:
用户同意授权后
如果用户同意授权,页面将跳转至 redirect_uri/?code=CODE&state=STATE。若用户禁止授权,则重定向后不会带上code参数,仅会带上state参数redirect_uri?state=STATE
code说明 :
code作为换取access_token的票据,每次用户授权带上的code将不一样,code只能使用一次,5分钟未被使用自动过期。
首先请注意,这里通过code换取的是一个特殊的网页授权access_token,与基础支持中的access_token(该access_token用于调用其他接口)不同。公众号可通过下述接口来获取网页授权access_token。如果网页授权的作用域为snsapi_base,则本步骤中获取到网页授权access_token的同时,也获取到了openid,snsapi_base式的网页授权流程即到此为止。
尤其注意:由于公众号的secret和获取到的access_token安全级别都非常高,必须只保存在服务器,不允许传给客户端。后续刷新access_token、通过access_token获取用户信息等步骤,也必须从服务器发起。
获取code后,请求以下链接获取access_token:
公众号的唯一标识
公众号的appsecret
填写第一步获取的code参数
grant_type
填写为authorization_code
正确时返回的JSON数据包如下:
"access_token":"ACCESS_TOKEN",
"expires_in":7200,
"refresh_token":"REFRESH_TOKEN",
"openid":"OPENID",
"scope":"SCOPE",
"unionid": "o6_bmasdasdsad6_2sgVt7hMZOPfL"
access_token
网页授权接口调用凭证,注意:此access_token与基础支持的access_token不同
expires_in
access_token接口调用凭证超时时间,单位(秒)
refresh_token
用户刷新access_token
用户唯一标识,请注意,在未关注公众号时,用户访问公众号的网页,也会产生一个用户和公众号唯一的OpenID
用户授权的作用域,使用逗号(,)分隔
只有在用户将公众号绑定到微信开放平台帐号后,才会出现该字段。详见:
错误时微信会返回JSON数据包如下(示例为Code无效错误):
{"errcode":40029,"errmsg":"invalid code"}
由于access_token拥有较短的有效期,当access_token超时后,可以使用refresh_token进行刷新,refresh_token拥有较长的有效期(7天、30天、60天、90天),当refresh_token失效的后,需要用户重新授权。
获取第二步的refresh_token后,请求以下链接获取access_token:
公众号的唯一标识
grant_type
填写为refresh_token
refresh_token
填写通过access_token获取到的refresh_token参数
正确时返回的JSON数据包如下:
"access_token":"ACCESS_TOKEN",
"expires_in":7200,
"refresh_token":"REFRESH_TOKEN",
"openid":"OPENID",
"scope":"SCOPE"
access_token
网页授权接口调用凭证,注意:此access_token与基础支持的access_token不同
expires_in
access_token接口调用凭证超时时间,单位(秒)
refresh_token
用户刷新access_token
用户唯一标识
用户授权的作用域,使用逗号(,)分隔
错误时微信会返回JSON数据包如下(示例为Code无效错误):
{"errcode":40029,"errmsg":"invalid code"}
如果网页授权作用域为snsapi_userinfo,则此时开发者可以通过access_token和openid拉取用户信息了。
http:GET(请使用https协议)
access_token
网页授权接口调用凭证,注意:此access_token与基础支持的access_token不同
用户的唯一标识
返回国家地区语言版本,zh_CN 简体,zh_TW 繁体,en 英语
正确时返回的JSON数据包如下:
"openid":" OPENID",
" nickname": NICKNAME,
"sex":"1",
"province":"PROVINCE"
"city":"CITY",
"country":"COUNTRY",
"headimgurl":
"privilege":[
"PRIVILEGE1"
"PRIVILEGE2"
"unionid": "o6_bmasdasdsad6_2sgVt7hMZOPfL"
用户的唯一标识
用户的性别,值为1时是男性,值为2时是女性,值为0时是未知
用户个人资料填写的省份
普通用户个人资料填写的城市
国家,如中国为CN
headimgurl
用户头像,最后一个数值代表正方形头像大小(有0、46、64、96、132数值可选,0代表640*640正方形头像),用户没有头像时该项为空。若用户更换头像,原有头像URL将失效。
用户特权信息,json 数组,如微信沃卡用户为(chinaunicom)
只有在用户将公众号绑定到微信开放平台帐号后,才会出现该字段。详见:
错误时微信会返回JSON数据包如下(示例为openid无效):
{"errcode":40003,"errmsg":" invalid openid "}
http:GET(请使用https协议)
access_token
网页授权接口调用凭证,注意:此access_token与基础支持的access_token不同
用户的唯一标识
正确的Json返回结果:
{ "errcode":0,"errmsg":"ok"}
错误时的Json返回示例:
{ "errcode":40003,"errmsg":"invalid openid"}新浪微博获取了用户的授权信息后如何获取用户的账号?_百度知道
新浪微博获取了用户的授权信息后如何获取用户的账号?
是用户的账号,不是id,不能获取的话告诉我如何验证用户输入的账号是否存在或是否正确也行。
,求高手啊。这个问题困扰了我好久了
我有更好的答案
就是在获取了Access Token 和Token Secret之后,调用什么API能获取用户的登陆账号,不过我找了好久好像貌似不支持这样做
其他类似问题
为您推荐:
新浪微博的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁

我要回帖

更多关于 新浪微博账号登陆 的文章

 

随机推荐