• 【Eolinker使用】通过Webhook推送API变更通知到企业微信


    当需要通过 Eolinker Webhook 对接其他程序时,一般的流程是:

    1. 获取工作空间ID,和已知的工作空间ID对比,判断是否是来自 Eolinker 官方的请求,如果不是则忽略本次请求;
    2. 根据回调数据的 hook_product 字段,判断触发的产品;
    3. 根据回调数据的 hook_event 字段,判断触发的事件;
    4. 根据回调数据的 hook_operation 字段,判断触发的具体操作;
    5. 根据产品、事件、操作来获取content字段内的内容,进行后续处理;
    6. 返回字符串 ok 给 Eolinker Webhook,结束程序。

    对接企业微信机器人群消息通知的主要步骤:
    (1)在企业微信移动端,【获取 企业微信机器人-WebHook地址】
    (2)在Eolinker管理后台【设置 Eolinker-WebHook地址】与【创建此脚本】
    (3)在第二步的【Eolinker-WebHook脚本】中编写调用第一步中的【企业微信-WebHook服务】的脚本规则

    详细教程:
    一、获取企业微信机器人Webhook 服务地址
    (1)打开企业微信群聊,点击右上角群设置-群机器人-添加机器人,编辑机器人名称



    (4)复制保存“企业微信机器人-webhook“。【用作“二(3)”步骤中脚本填写的企业微信机器人调用地址】

    二、接下来进入Eolinker服务器后台(Linux)与系统管理员后台(Web)中【创建Eolinker-Webhook脚本】与【设置Eolinker-Webhook地址】
    (1)连接服务器后台,进入eolinker_epc容器中的 eolinker_ams 目录中(安装目录)

    docker exec -it eolinker_epc bash
    cd /eolinker_ams

    (2)创建文件如脚本文件(以php脚本为例):eo_wxwork_webhook.php,即文件位置与update.php同级

    vi eo_wxwork_webhook.php

    (3)编辑eo_wxwork _webhook.php脚本,(以调用API研发管理-监测切换 API 状态为例)

    详细代码示例如下:
    (红框为需要修改的地方)

    'text', 'text' => [ 'content' => $text, ] ]; //判断如果产品为API研发管理 且 事件为API文档 且 操作为切换api状态 则 请求【第(一、4)步中拿到的企业微信机器人webhook地址】进行调用,填写到【 CURLOPT_URL 】中 if($eo_hook['hook_product'] == 'api_management' && $eo_hook['hook_event'] == 'api_document' && $eo_hook['hook_operation'] == 'switch_api_status'){ //调用 $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_URL => "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=xxxxxx", CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => "", CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 30, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => "POST", CURLOPT_POSTFIELDS => json_encode($data), CURLOPT_HTTPHEADER => array( "Content-Type:application/json" ), )); $response = curl_exec($curl); $err = curl_error($curl); curl_close($curl); if ($err) { echo "cURL Error #:" . $err; } else { echo $response; } } (4)编写完脚本后 输入 :wq 保存内容 (5)进入eolinker管理后台-Webhook-点击新建服务调用 ![](https://img2020.cnblogs.com/other/1506969/202103/1506969-20210305180940573-1454726246.png) (6)填写 回调地址。通知URL填写内容:私有云访问地址、服务器ip 加上 脚本名(eo_wxwork_webhook.php) ![](https://img2020.cnblogs.com/other/1506969/202103/1506969-20210305180940751-1726112372.png) 点击确定后,如弹出地址错误,则需要检查以下原因:  填写的通知地址是否成功创建了此脚本文件  访问地址、文件名填写是否有误  服务器文件权限、链接重定位问题 (7)最后改变api的状态,测试效果: ![](https://img2020.cnblogs.com/other/1506969/202103/1506969-20210305180940964-1833295711.png) ![](https://img2020.cnblogs.com/other/1506969/202103/1506969-20210305180941319-840802320.png) 详细参考 (1)企业微信自定义机器人: https://work.weixin.qq.com/help?person_id=1&doc_id=13376#如何使用群机器人/如何使用群机器人 (2)Eolinker_使用: [https://www.eolinker.com/](https://datayi.cn/w/4PKKyLxP)
  • 相关阅读:
    Linux cron
    web报表工具FineReport常用函数的用法总结(文本函数)
    web报表工具FineReport常用函数的用法总结(文本函数)
    oracle instr函数
    死锁的例子和 synchronized 嵌套使用
    死锁的例子和 synchronized 嵌套使用
    Perl 监控批量错误
    Linux以百万兆字节显示内存大小
    Linux以GB显示内存大小
    Linux以KB显示内存大小
  • 原文地址:https://www.cnblogs.com/dc20181010/p/14487709.html
Copyright © 2020-2023  润新知