开发者社区 问答 正文

钉钉如何配置Stream推送?

钉钉如何配置Stream推送?

展开
收起
三分钟热度的鱼 2023-09-05 21:48:41 1713 分享 版权
7 条回答
写回答
取消 提交回答
  • 要在钉钉中配置Stream推送,需要按照以下步骤进行操作:
    image.png
    image.png

    1. 注册为开发者: 首先,您需要注册成为钉钉开放平台的开发者,并创建一个应用。

    2. 获取AppKey和AppSecret: 在创建应用后,您将获得一个唯一的AppKey和对应的AppSecret。这些凭证将用于进行接口调用和身份验证。

    3. 配置服务器回调地址: 在应用设置中,找到“回调URL”或“服务器回调地址”的选项,填写您的服务器上处理Stream推送的回调接口URL。确保该URL可以被钉钉访问到。

    4. 获取推送临时Code: 当用户授权后,您需要通过钉钉开放平台的API获取推送临时Code。

    5. 使用临时Code获取永久授权码: 使用推送临时Code调用钉钉开放平台的API,获取永久授权码。永久授权码将用于后续的Token获取和推送消息的身份验证。

    6. 获取Access Token: 使用AppKey和AppSecret调用钉钉开放平台的API,通过永久授权码获取Access Token。Access Token是进行推送消息鉴权的必要凭证。

    7. 发送消息推送请求: 使用得到的Access Token,结合您的推送消息内容,调用钉钉开放平台的API,向指定用户或群组发送消息推送请求。

    2023-09-06 20:58:37
    赞同 展开评论
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    要配置钉钉的Stream推送功能,您需要按照以下步骤进行操作:
    image.png
    image.png

    1. 开通Push API权限:首先,在钉钉开放平台上,确保您的应用已经开通了Push API的权限。如果没有开通,请登录到钉钉开放平台,找到您的应用,并确保在应用详情中的“API管理”模块中开通了Push API权限。

    2. 获取推送地址和密钥:在开通Push API权限后,您将获得一个推送地址(URL)和一个密钥(Secret)。这些信息将用于配置和发送推送请求。

    3. 配置推送参数:在您的应用代码中,根据您的需求,构建推送消息的内容和参数。推送消息可以包括标题、正文、链接等相关信息。确保在推送请求中传递必要的参数,例如推送地址、密钥、消息内容等。

    4. 发送推送请求:使用您选择的编程语言和HTTP库,发送HTTP POST请求到推送地址,并在请求头中添加相应的验证信息,如签名或Token等。将推送消息的内容作为请求体发送。

    5. 处理推送结果:根据服务器返回的响应,对推送结果进行处理。通常,成功的推送请求会返回HTTP状态码200,您可以根据需要处理进一步的业务逻辑。

    2023-09-06 12:58:48
    赞同 展开评论
  • 微信截图_20230902110117.png
    准备工作
    拥有所在钉钉组织的开发者权限。

    拥有所在钉钉组织的企业内部应用。微信截图_20230902110126.png

    2023-09-06 11:42:14
    赞同 展开评论
  • 配置Stream推送

    钉钉会向应用推送订阅的事件,例如签到通知、打卡通知、通讯录变更、OA审批变更。通过这些事件,可以更好地与钉钉集成。当钉钉中某个事件发生时,只需接入服务端Stream模式,钉钉将事件内容推送至开发者。

    使用场景
    在你的业务对数据的实时性要求较高时。例如:在新员工入职或者离职,部门变更,需要应用第一时间变更用户数据,此时就可以订阅通讯录事件

    你的应用需要及时响应用户的操作时。例如:某用户加入某群聊时,应用可以订阅群变更事件,在用户进入群聊的时候,向用户发送欢迎等信息。

    以上只是几个非常简单的使用场景,开发者可以根据不同的事件,进行不同的处理。

    准备工作
    拥有所在钉钉组织的开发者权限。

    拥有所在钉钉组织的企业内部应用。

    拥有访问公网的运行环境。

    订阅流程
    选择Stream模式推送。

    5e5d3414d1e9aa477e102456e9dd1068_p672710.png

    服务端接入:

    添加依赖项到工程的pom.xml文件或下载对应的jar包,最新的 SDK 版本可以在这里查看和下载。

    https://s01.oss.sonatype.org/?spm=ding_open_doc.document.0.0.6d93abd4eWfNQo#nexus-search;quick~app-stream-client

    image.png

    启动服务,验证连接通道。

    981f334a611878351d50d4ed7ac7a874_p672722.png

    单击保存,设置需要监听的事件。

    7234ba0dd0e13477d6434f34c8cb4624_p672725.png

    2023-09-06 08:42:40
    赞同 展开评论
  • 北京阿里云ACE会长

    钉钉配置 Stream 推送需要以下步骤:

    1. 登录钉钉开发者平台:https://developers.dingtalk.com/,使用钉钉账号登录。
    2. 创建应用:在开发者平台中创建一个应用,记录下应用的 AppKey 和 AppSecret。
    3. 配置服务器:在钉钉开放平台上,创建一个 Stream 推送服务,记录下 Stream 服务地址和 AccessToken。
    4. 在钉钉应用中,调用 API:dingTalk.corp.extension.PushMessage,传入以下参数:
    • accessToken:从钉钉开放平台获取的 AccessToken。
    • agentId:应用的 AgentID。
    • message:推送的消息内容,支持文本、图片、语音、视频等多种格式。
    • target:推送的目标,可以是用户、群组或者部门。
    1. 处理接收方反馈:在钉钉应用中,监听接收方的反馈,如已读、未读、点击等事件,以便进行后续操作。
      参考文档:
    2023-09-06 08:31:49
    赞同 展开评论
  • 准备工作
    拥有所在钉钉组织的开发者权限。

    拥有所在钉钉组织的企业内部应用。

    拥有访问公网的运行环境。

    订阅流程
    选择Stream模式推送。

    5e5d3414d1e9aa477e102456e9dd1068_p672710.png

    服务端接入:

    添加依赖项到工程的pom.xml文件或下载对应的jar包,最新的 SDK 版本可以在这里查看和下载。


    com.dingtalk.open
    app-stream-client
    {sdk-version}

    事件接入:

    public static void main(String[] args) {
    OpenDingTalkStreamClientBuilder
    .custom()
    .credential(new AuthClientCredential("${clientId}", "${clientSecret}"))
    //注册事件监听
    .registerAllEventListener(new GenericEventListener() {
    public EventAckStatus onEvent(GenericOpenDingTalkEvent event) {
    try {
    //事件唯一Id
    String eventId = event.getEventId();
    //事件类型
    String eventType = event.getEventType();
    //事件产生时间
    Long bornTime = event.getEventBornTime();
    //获取事件体
    JSONObject bizData = event.getData();
    //处理事件
    process(bizData);
    //消费成功
    return EventAckStatus.SUCCESS;
    } catch (Exception e) {
    //消费失败
    return EventAckStatus.LATER;
    }
    }
    })
    .build().start();
    }

    参数说明:

    image.png

    启动服务,验证连接通道

    981f334a611878351d50d4ed7ac7a874_p672722.png

    单击保存,设置需要监听的事件。

    7234ba0dd0e13477d6434f34c8cb4624_p672725.png

    2023-09-06 08:22:56
    赞同 2 展开评论
  • 钉钉会向应用推送订阅的事件,例如签到通知、打卡通知、通讯录变更、OA审批变更。通过这些事件,可以更好地与钉钉集成。当钉钉中某个事件发生时,只需接入服务端Stream模式,钉钉将事件内容推送至开发者。

    1、选择Stream模式推送。
    image.png
    2、服务端接入:

    a、添加依赖项到工程的pom.xml文件或下载对应的jar包,最新的 SDK 版本可以在这里查看和下载。

    <dependency>
      <groupId>com.dingtalk.open</groupId>
      <artifactId>app-stream-client</artifactId>
      <version>{sdk-version}</version>
    </dependency>
    

    b、事件接入:

    public static void main(String[] args) {
      OpenDingTalkStreamClientBuilder
        .custom()
        .credential(new AuthClientCredential("${clientId}", "${clientSecret}"))
        //注册事件监听
        .registerAllEventListener(new GenericEventListener() {
          public EventAckStatus onEvent(GenericOpenDingTalkEvent event) {
            try {
              //事件唯一Id
              String eventId = event.getEventId();
              //事件类型
              String eventType = event.getEventType();
              //事件产生时间
              Long bornTime = event.getEventBornTime();
              //获取事件体
              JSONObject bizData = event.getData();
              //处理事件
              process(bizData);
              //消费成功
              return EventAckStatus.SUCCESS;
            } catch (Exception e) {
              //消费失败
              return EventAckStatus.LATER;
            }
          }
        })
        .build().start();
    }
    

    3、启动服务,验证连接通道。

    image.png

    4、单击保存,设置需要监听的事件。
    image.png

    2023-09-06 00:59:42
    赞同 展开评论
滑动查看更多