写点什么

ShareSDK 企业微信

  • 2024-08-16
    上海
  • 本文字数:3020 字

    阅读完需:约 10 分钟

本篇文档主要讲解如何使用企业微信并进行分享和授权。

创建应用

  1. 登录企业微信并通过企业认证。

  2. 选择应用管理 > 应用 >创建应用。

  3. 编辑应用信息。

  4. 配置授权登录信息

以下为创建过程示例图中信息仅为示例,创建时请按照真实信息填写,否则无法正常使用




创建应用之后会生成应用密匙等信息,然后进行 企业微信授权登录 设置




根据需求,可以选择配置 iOS 和 Android 端对应信息



iOS 端配置信息如下




Android 端配置信息如下




完成以上内容填写后,企业微信平台应用创建已经完成,可正常使用。

注意:企业微信在当前企业下创建“企业应用”,手机客户端应用通过”企业微信 app“进行授权/分享时,调起的“企业微信 app”必须处于相对应的企业,否则分享或授权会由于无权限导致失败 (如何转到自己的企业下:我-设置-切换企业或者消息-其他企业 都能切换企业)

集成使用

配置信息获取

客户端在使用企业微信平台之前,需要先获取企业微信为应用分发的 AgentId、Secret、schema、企业 ID






Android

SDK 集成

在集成企业微信相关能力之前,请先按照ShareSDK集成指南完成 ShareSDK 的集成。

在对应 gradle 文件中,添加如下 Wework 块代码,其中 appKey 的值对应企业微信平台中的企业 ID,appSecret 对应企业微信平台中的 Secret,agentId 对应企业微信平台中的 AgentId,schema 对应企业微信平台中的 schema

ShareSDK {    devInfo {        Wework {            appKey "xxxxxxxxxxxxxx"            appSecret "xxxxxxxxxxxxxxxxxxxx"            agentId "xxxxxxxxxx"            schema "xxxxxxxxxxxxxxxxxxxxxxx"            enable true        }    }}
复制代码

分享示例

以下代码示例分享链接至企业微信好友

Platform platform = ShareSDK.getPlatform(Wework.NAME);Platform.ShareParams shareParams = new  Platform.ShareParams();shareParams.setText("Wework分享内容");shareParams.setTitle("Wework分享标题");shareParams.setImageUrl("https://download.sdk.mob.com/web/images/2019/07/30/14/1564468183056/750_750_65.12.png");shareParams.setShareType(Platform.SHARE_WEBPAGE);shareParams.setUrl("https://www.mob.com/");// 设置分享事件回调(注:回调放在不能保证在主线程调用,不可以在里面直接处理UI操作)platform.setPlatformActionListener(new PlatformActionListener() {    @Override    public void onComplete(Platform platform, int i, HashMap<String, Object> hashMap) {        //分享成功    }    @Override    public void onError(Platform platform, int i, Throwable throwable) {        //分享失败    }    @Override    public void onCancel(Platform platform, int i) {        //分享取消    }});platform.share(shareParams);
复制代码

效果图



授权示例

Platform wework = ShareSDK.getPlatform(Wework.NAME);wework.setPlatformActionListener(new PlatformActionListener() {    @Override    public void onComplete(Platform platform, int i, final HashMap<String, Object>      hashMap) {        Log.d("ShareSDK", platform.getDb().exportData());    }    @Override    public void onError(Platform platform, int i, Throwable throwable) {    }    @Override    public void onCancel(Platform platform, int i) {    }});wework.SSOSetting(false);wework.showUser(null);
复制代码

返回信息示例

在 ShareSDK 成功回调中调用 platform.getDb().exportData(),将返回以下格式信息。

{    "expiresIn": 7200,    "userID": "xxxxxxxxxxxxxxxxxxxxxxxxxx",    "expiresTime": 1721186368277,    "token": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"}
复制代码

iOS

SDK 集成

在集成企业微信相关能力之前,请先按照ShareSDK集成指南完成 ShareSDK 的集成。

添加白名单

(1)在项目的 info.plist 中添加 Queried URL Schemes,类型为 Array

(2)然后添加一个需要支持的项目,类型为字符串类型,企业微信需要添加的白名单为:wxwork , wxworkrdm



配置 URL Scheme

打开项目的 Info 选项,然后选择 URL Types,添加对应平台的 URL Scheme 配置,企业微信需要添加的 URL SCheme 为:企业微信初始化中的 setupWeWorkBySchema



初始化平台

在使用企业微信能力之前,需要先对企业微信进行初始化,其中 setupWeWorkBySchema 的值对应企业微信中的 schema,appKey 对应企业微信中的企业 ID,agentId 对应企业微信中的 AgentId,appSecret 对应企业微信中的 Secret

[ShareSDK registPlatforms:^(SSDKRegister *platformsRegister) {     [platformsRegister setupWeWorkBySchema:@"XXXXXXXXXXXX" appKey:@"XXXXXX" agentId:@"XXXXXXX" appSecret:@"XXXXXXXXXXX"];}
复制代码

分享示例

以下代码示例分享网络连接至企业微信好友

#import <ShareSDK/ShareSDK.h> &nbsp; NSMutableDictionary * shareParams = [NSMutableDictionary dictionary];[shareParams SSDKSetupShareParamsByText:@"Jshuoh "                                 images:[[NSBundle mainBundle] pathForResource:@"Icon@2x" ofType:@"png"]                                    url:[NSURL URLWithString:@"http://www.mob.com"]                                  title:@"I'm Not The"                                   type:SSDKContentTypeWebPage];[ShareSDK share:SSDKPlatformTypeWework parameters:shareParams onStateChanged:^(SSDKResponseState state, NSDictionary *userData, SSDKContentEntity *contentEntity, NSError *error) {        if (state == SSDKResponseStateSuccess)        {              NSLog(@"分享成功");        }        if (state == SSDKResponseStateFail)        {              NSLog(@"失败----%@",error.description);        }        if (state == SSDKResponseStateCancel)        {              NSLog(@"取消");        }}];
复制代码

效果图



授权示例

#import <ShareSDK/ShareSDK.h>[ShareSDK authorize:SSDKPlatformTypeWework              settings:nil        onStateChanged:^(SSDKResponseState state, SSDKUser *user, NSError *error) {          if (state == SSDKResponseStateSuccess)          {               NSLog(@"rawData---%@",user.rawData);//用户信息打印               NSLog(@"credential---%@",[user.credential rawData]);//授权信息打印          }          if (state == SSDKResponseStateFail)          {               NSLog(@"%@",error.description);          }          if (state == SSDKResponseStateCancel)          {               NSLog(@"取消");;          }}];
复制代码

返回信息示例

在 authorize 成功回调中调用 user.rawData 和[user.credential rawData]打印,将返回以下信息

//用户信息打印rawData---{    DeviceId = "";    UserId = LiuXXXXX;    errcode = 0;    errmsg = ok;}//授权信息打印credential---{    "access_token" = "vwuRAmOtA3tNWp6iOh4FoAYuPFU5inACvFDKs4QoEZclZYxAArhs6YgPVn-XXXXXXXXXXXXXXX_RYvcr_kmqrr3zwt5aDTu-ezftQC6CWNmtMa62dmzqR6G_7HyfRzGfFjzFo5vW7p7d-TU8t33sQU3sIve-LXjemFroy1iLApWMKDtueDbD-qZ3POgpBA7RV7uTw-m-2P09diVLEksDA";    errcode = 0;    errmsg = ok;    "expires_in" = 7200;}
复制代码


用户头像

还未添加个人签名 2019-05-08 加入

还未添加个人简介

评论

发布
暂无评论
ShareSDK 企业微信_MobTech袤博科技_InfoQ写作社区