从4.2.0版本我们增加了获取code的接口
如果用户只是需要得到code值,然后自己到服务端获取到用户信息作处理,不想通过我们接口获取用户信息的话,可以这样调用,先初始化
/**
ShareSDK 平台注册方法
@param importHandler 用于设置各平台注册信息,也可在mob管理后台进行注册
*/
+ (void)registPlatforms:(void(^)(SSDKRegister *platformsRegister))importHandler;
/**
设置微信(微信好友,微信朋友圈、微信收藏)应用信息
@param appId 应用标识
@param appSecret 应用密钥
@param universalLink 应用深度连接
*/
- (void)setupWeChatWithAppId:(NSString *)appId
appSecret:(NSString *)appSecret
universalLink:(NSString *)universalLink;
示例代码
#import <ShareSDK/ShareSDK.h>
[ShareSDK registPlatforms:^(SSDKRegister *platformsRegister) {
//微信初始化里的appsecret要为nil
[platformsRegister setupWeChatWithAppId:@"wx617c77c82218ea2c" appSecret:nil universalLink:@"https://70imc.share2dlink.com/"];
}];
然后调用这些方法
/**
在用户不希望暴露微信appSecret情况下,可以设置此block,传入token继续请求用户信息
@param operation 请求authToken业务
*/
+ (void)setRequestAuthTokenOperation:(SSDKRequestTokenOperation)operation;
示例代码
#import <ShareSDK/ShareSDK.h>
#import <WechatConnector/WechatConnector.h>
[WeChatConnector setRequestAuthTokenOperation:^(NSString *authCode, void (^getUserinfo)(NSString *uid, NSString *token)) {
NSLog(@"%@",authCode);
}];
//先执行auth方法,我们内部会判断,如果appsecret为nil,就会判断执行setRequestAuthTokenOperation
/**
授权
@param platformType 平台类型
@param settings 授权设置,接受scopes属性设置,如新浪微博关注官方微博:@{@"scopes" : @[@"follow_app_official_microblog"]},类似“follow_app_official_microblog”这些字段是各个社交平台提供的。QQ平台如设置二维码授权,添加字段为QQAuthType:@{@"QQAuthType":@1}, 0为网页账号密码登录授权
@param stateChangedHandler 授权状态变更回调处理
@return 会话id
*/
+ (SSDKSession *)authorize:(SSDKPlatformType)platformType
settings:(NSDictionary *)settings
onStateChanged:(SSDKAuthorizeStateChangedHandler)stateChangedHandler;
示例代码
#import <ShareSDK/ShareSDK.h>
[ShareSDK authorize:SSDKPlatformTypeWechat
settings:nil
onStateChanged:^(SSDKResponseState state, SSDKUser *user, NSError *error) {
if (state == SSDKResponseStateSuccess)
{
NSLog(@"%@",[user.credential rawData]);
NSLog(@"%@",user.rawData);
}
else
{
NSLog(@"%@",error);
}
}];
如果需要获取到用户信息,那么开发者需要通过获取到的code,自己去调用微信的API获取uid,token,拿到这2个值后,然后通过参数getUserinfo提供给我们平台,执行getUserinfo(uid,token);,拿到用户信息后authorize方法里的block就执行了回调。
注意:authCode通过API获取token后,这个authCode就会失效
相关文章
暂无评论...