共计 2016 个字符,预计需要花费 6 分钟才能阅读完成。
从 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 就会生效
正文完