ShareSDK 企业微信

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

创建应用

  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;
}
相关推荐
知之AI20 小时前
桌面 RPA 入门:企业微信日常流程怎么拆、怎么选型(2026)
企业微信·rpa·选型·流程自动化·桌面自动化
FPGA小迷弟1 天前
FPGA 与千兆以太网:各类物理接口的形式、区别、使用方法与应用场景详解
tcp/ip·macos·fpga开发·udp·fpga
周小董3 天前
[1379]mac安装nvm
macos
超级新零售3 天前
服装订货会数字化:商品版本、订单状态与后续配发数据如何衔接?
大数据·小程序·企业微信
bossjuemfc3 天前
不记得文件名时,Mac 上的搜索还能怎么做?
macos
2501_915909063 天前
Windows 打开 Xcode 工程,编译调试 Xcode 项目并和 Mac 同事协作
ide·windows·vscode·macos·ios·个人开发·xcode
请为小H留灯4 天前
Mac 常用操作与维护技巧
macos·电脑·清理电脑·常用技巧
hantmac4 天前
不记得文件名时,Mac 上的搜索还能怎么做?
人工智能·macos
这是谁的博客?4 天前
AI 加速器 RTL 数字系统设计深度解析:从 MAC 阵列 Verilog 实现到时序收敛与时钟功耗的芯片落地全链路
人工智能·macos·ai·verilog·数字ic设计·ai芯片·rtl
slacker-kian4 天前
M 系列 Mac 清除顽固的 CorpLink
macos·corplink·m系列