关于微信:ShareSDK-iOS端微信如何获取authcode值

从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就会生效

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理