Comments (12)
我们用OpenShare登录以后,获得的信息:
{
"access_token" = 427934383126190ABBE2CE79BAE07559;
encrytoken = 1c0b6ec57669ea566664f949d44f85e9;
"expires_in" = 7776000;
msg = "";
openid = 04566F19F51F1CD76169EDBC5351BA04;
"pay_token" = E5C937B566AD2CE33189EABFEF1E427E;
pf = "openmobile_ios";
pfkey = 947ff5a77691503846a81d24220c3a86;
ret = 0;
"user_cancelled" = NO;
}
比如获取用户信息的API:http://wiki.connect.qq.com/get_user_info
根据官方文档,我们需要请求:
//oauth_consumer_key是`[OpenShare connectQQWithAppId:@"1103194207"];`中的appid。
https://graph.qq.com/user/get_user_info?oauth_consumer_key=1103194207&access_token=427934383126190ABBE2CE79BAE07559&openid=04566F19F51F1CD76169EDBC5351BA04&format=json
这是一个GET请求,你可以用你熟悉的网络库来请求,服务器返回:
{
"ret": 0,
"msg": "",
"is_lost":0,
"nickname": "qzuser",
"gender": "男",
"province": "广东",
"city": "深圳",
"year": "1990",
"figureurl": "http://qzapp.qlogo.cn/qzapp/111111/942FEA70050EEAFBD4DCE2C1FC775E56/30",
"figureurl_1": "http://qzapp.qlogo.cn/qzapp/111111/942FEA70050EEAFBD4DCE2C1FC775E56/50",
"figureurl_2": "http://qzapp.qlogo.cn/qzapp/111111/942FEA70050EEAFBD4DCE2C1FC775E56/100",
"figureurl_qq_1": "http://q.qlogo.cn/qqapp/111111/942FEA70050EEAFBD4DCE2C1FC775E56/40",
"figureurl_qq_2": "http://q.qlogo.cn/qqapp/111111/942FEA70050EEAFBD4DCE2C1FC775E56/100",
"is_yellow_vip": "0",
"vip": "0",
"yellow_vip_level": "0",
"level": "0",
"is_yellow_year_vip": "0"
}
正如上面的例子,OpenShare只获得了最基本的信息,具体你想做哪些操作,还是要看官方文档的API。对于需要secret验证的API(比如修改头像),签名和验证强烈推荐放在服务器端,因为把secret放在客户端,几乎没有任何方法保证不泄漏。
from openshare.
返回结果正如你给出的结果 无论怎么请求都不能正常获取 昵称和头像的
from openshare.
这个是由于你的appid的问题。如果没有上线,可以把测试QQ添加到应用调试者
里面。或者,你可以用「唱吧」的appid(100261904)测试:
返回:
{
"ret": 0,
"msg": "",
"is_lost":0,
"nickname": "文库专家",
"gender": "男",
"province": "上海",
"city": "黄浦",
"year": "1993",
"figureurl": "http:\/\/qzapp.qlogo.cn\/qzapp\/100261904\/9BEA07AD04306CFE1489904D55A09B49\/30",
"figureurl_1": "http:\/\/qzapp.qlogo.cn\/qzapp\/100261904\/9BEA07AD04306CFE1489904D55A09B49\/50",
"figureurl_2": "http:\/\/qzapp.qlogo.cn\/qzapp\/100261904\/9BEA07AD04306CFE1489904D55A09B49\/100",
"figureurl_qq_1": "http:\/\/q.qlogo.cn\/qqapp\/100261904\/9BEA07AD04306CFE1489904D55A09B49\/40",
"figureurl_qq_2": "http:\/\/q.qlogo.cn\/qqapp\/100261904\/9BEA07AD04306CFE1489904D55A09B49\/100",
"is_yellow_vip": "0",
"vip": "0",
"yellow_vip_level": "0",
"level": "0",
"is_yellow_year_vip": "0"
}
为了调试方便,你可以用:
[auth addEventHandler:^(id sender) {
[OpenShare QQAuth:@"get_user_info" Success:^(NSDictionary *message) {
ULog(@"QQ登录成功\n%@",message);
NSLog(@"%@",message);
NSString *url=[NSString stringWithFormat: @"https://graph.qq.com/user/get_user_info?oauth_consumer_key=100261904&access_token=%@&openid=%@&format=json",message[@"access_token"],message[@"openid"]];
NSLog(@"url: %@\n%@",url,[NSJSONSerialization JSONObjectWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:url]] options:NSJSONReadingAllowFragments error:nil]);
} Fail:^(NSDictionary *message, NSError *error) {
ULog(@"QQ登录失败\n%@\n%@",error,message);
}];
} forControlEvents:UIControlEventTouchUpInside];
from openshare.
明白了 这个要求必须同时是网页应用 并且审核通过才能获取 已经在审核了 希望能通过
谢谢回复
from openshare.
腾讯的这个开放平台,坑真不少。@nicknull 可以记录一下,等都弄好了,来跟我们分享一下。
from openshare.
腾讯确实坑 等弄好了 把 微信 微博 qq的登录大坑总结下 再分享吧 哈哈
from openshare.
根据以下方法 我用在这个项目中
[auth addEventHandler:^(id sender) {
[OpenShare QQAuth:@"get_user_info" Success:^(NSDictionary *message) {
ULog(@"QQ登录成功\n%@",message);
NSLog(@"%@",message);
NSString *url=[NSString stringWithFormat: @"https://graph.qq.com/user/get_user_info?oauth_consumer_key=1103194207&access_token=%@&openid=%@&format=json",message[@"access_token"],message[@"openid"]];
NSLog(@"url: %@\n%@",url,[NSJSONSerialization JSONObjectWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:url]] options:NSJSONReadingAllowFragments error:nil]);
} Fail:^(NSDictionary *message, NSError *error) {
ULog(@"QQ登录失败\n%@\n%@",error,message);
}];
} forControlEvents:UIControlEventTouchUpInside];
获取的数据是
{
"ret": 0,
"msg": "",
"is_lost":0,
"nickname": "qzuser",
"gender": "男",
"province": "广东",
"city": "深圳",
"year": "1990",
"figureurl": "http://qzapp.qlogo.cn/qzapp/111111/942FEA70050EEAFBD4DCE2C1FC775E56/30",
"figureurl_1": "http://qzapp.qlogo.cn/qzapp/111111/942FEA70050EEAFBD4DCE2C1FC775E56/50",
"figureurl_2": "http://qzapp.qlogo.cn/qzapp/111111/942FEA70050EEAFBD4DCE2C1FC775E56/100",
"figureurl_qq_1": "http://q.qlogo.cn/qqapp/111111/942FEA70050EEAFBD4DCE2C1FC775E56/40",
"figureurl_qq_2": "http://q.qlogo.cn/qqapp/111111/942FEA70050EEAFBD4DCE2C1FC775E56/100",
"is_yellow_vip": "0",
"vip": "0",
"yellow_vip_level": "0",
"level": "0",
"is_yellow_year_vip": "0"
}
这里有个疑问 我在自己的项目中也是 "nickname": "qzuser" 貌似这个接口返回给我的数据都是模拟数据一样 并不是我真实用户的信息 这是什么情况 有谁知道吗
from openshare.
对于我那个问题我发现一个很有意思的东西
以下是腾讯开放平台问答地址http://wiki.open.qq.com/wiki/%E3%80%90QQ%E7%99%BB%E5%BD%95%E3%80%91FAQ#20._.E4.BD.BF.E7.94.A8API.E8.8E.B7.E5.8F.96.E7.94.A8.E6.88.B7.E6.98.B5.E7.A7.B0.E6.97.B6.E8.BF.94.E5.9B.9E.E2.80.9Cqzuser.E2.80.9D.E6.98.AF.E6.80.8E.E4.B9.88.E5.9B.9E.E4.BA.8B.EF.BC.9F
在腾讯开发平台中有这么一段问答
20. 使用API获取用户昵称时返回“qzuser”是怎么回事?
可能是所使用的API没有激活,可以到管理中心的控制台查看已激活API列表中是否有该API。
也可能是用户使用qq登录时跳过了授权步骤。
然后我跳转到了qq互联竟然发现这里也需要申请app
qq互联申请app
图
我以在腾讯开放平台申请了app
图
难道竟然要在两个平台上都要申请app才能获取有效的用户信息吗?待我验证
from openshare.
大兄弟,验证完了吗, 我也遇到相同的问题, 找客户直接把我挂断了。。。 @iStig
from openshare.
@domingoxx 我验证过qq互联 和 腾讯开放平台都申请app 但仍旧不行 。还需要在另一个平台也注册
from openshare.
唉,大兄弟加油, 我按照上面那个兄弟说的, 在去申请一个网页版的应用试试 @iStig
from openshare.
@iStig @domingoxx 我也和两位碰到了同样的问题,请问最后是怎么解决的呢?
from openshare.
Related Issues (20)
- 很期待:APP 跳转小程序的实现
- miniAppId
- 应用消息数据错误
- qq分享无法获取分享结果 HOT 1
- 登录微信怎么获取登录的信息
- 苹果提示隐藏支付功能被打回? HOT 2
- 微信支付所有信息都是对的,怎么提示“系统繁忙呢” HOT 1
- QQ分享无效或者闪退-iOS HOT 1
- 小程序分享支持体验版的分享吗? HOT 1
- 体验版
- 升级 swift 4.2 后,取消分享也会跳到分享成功里 HOT 3
- 请问, 针对TIM 和 QQ, 有比较好的解决方案吗?
- 请问项目还维护吗? HOT 1
- 升级到 iOS 分享到QQ 无法唤起用户列表 HOT 1
- 分享小程序一直提示"应用消息数据错" HOT 6
- 图片分享QQ控件图片会被压缩变小,分享给QQ好友就不会
- 微信分享流程改了,增加了Universal Links的验证逻辑,急需支持 HOT 3
- 微信提示:由于应用universal link校验不通过,请问大神怎么解决?
- 能在网页和app上使用吗
- (305) 595-9800
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from openshare.