反馈已提交

网络繁忙

参数使用MD5加密后从API取数

  • 文档创建者:Roxy
  • 历史版本:5
  • 最近更新:Roxy 于 2023-08-18
  • 1. 概述

    1.1 应用场景

    公司内部使用易流云进行车辆管理。希望从接口获取用户车辆最新位置信息。

    1.2 接口说明

    接口描述:获取用户车辆的最新位置信息

    使用场景:其他系统需要免登易流云平台时,可使用此接口实现。免登的凭证有时效性,时效为获取凭证时传入的timestamp之后的10分钟内有效。所以最好在点击跳转易流云链接时实时获取凭证信息使用,以保证可以正常跳转。

    展开查看接口参数说明:

    接口示例:

    https://xxxxx/api/vehicleMonitor/getVehicleInfo?method=GetVehcileInfo&timestamp=2023-05-24 14:34:27&format=json&vehicleNo=1234&sessionId=&isOffsetLonLat=0&appkey=0E3426F5-9A22-2ADD-4AAD-001F26AEDE7A&sign=8A5E6B0189F58F3F6433D7D21186AD8E

    接口参数:

    参数是否必填示例说明
    methodGetVehcileInfo具体API接口名称
    timestamp2023-05-24 14:34:27时间戳,格式为yyyy-mm-dd HH:mm:ss,例如:2013-05-06 13:52:03(建议传入当前时间)
    formatjson返回数据格式 xml或json不传默认为json格式
    vehicleNo1234需要查询的车牌,支持多车查询,车牌之间用英文逗号分割,-1表示全部车辆
    sessionId
    增量更新ID,首次查询时sessionid=,传空表示获取全部车辆数据;再次查询时,将上次查询返回结果中Code为1时的message的值赋给sessionid
    isOffsetLonLat0

    是否返回其他经纬度(不需要则传0以提高接口效率)

    2.百度(BD-09)

    1. 偏移经纬度(GCJ-02)

    0.不需要
    appkey0E3426F5-9A22-2ADD-4AAD-001F56AEDE7A易流云平台分配的公钥(需在易流云平台上申请)
    sign

    8A5E6BC189F58F3F6433D7D21186AD8E

    api接口输入参数的签名摘要(每个接口的签名都是更跟接口各自的参数有关)


    其中签名 sign 生成方法为:根据传入参数名称(签名sign除外)将所有请求参数按照首字母先后顺序排序,md5(密钥+除密钥外排好序的参数串+密钥)后转换为大写字母。

    调用示例:

    分类示例值
    外部系统获得的公钥和密钥

    appkey=abe10b89-8385-413a-b28f-894f7957f78d

    appsecret=184CE4DF-C5D2-4F55-8539-ED45D4E91FBB

    获取车辆最新位置信息接口的参数示例

    method=GetVehcileInfo

    appkey=abe19b89-8185-483a-b28f-894f7957f78d

    timestamp=2014-11-08 11:47:42

    format=json

    vehicle=晋B203819

    sessionid=""

    生成签名计算公式示例md5('184CE4DF-C5D2-4F55-8539-ED45D4E91FBBappkeyabe19b89-8185-483a-b28f-894f7957f78dformatjsonmethodGetVehcileInfosessionidtimestamp2014-11-08 11:47:42vehicle晋B203819184CE4DF-C5D2-4F55-8539-ED45D4E91FBB')

    注: 加密结果需要转换为大写字母格式后即为所需签名。

    1.3 实现思路

    2. 操作步骤

    2.1 获取易流云公钥和密钥

    在系统中获取易流云公钥和密钥。

    API接口访问必须经过易流公司授权后才可以使用(在易流云平台右上角接口中心中申请),授权成功后会得到授权码

    公钥和密钥分别是:appkey、appsecret,在每次访问API接口时必须指定公钥。否则访问就会被拒绝。

    注:外部系统调用易流API接口时,每次都要传参数timestamp,易流API服务端允许客户端请求时间误差为20分钟。

    2.2 使用MD5加密获取签名sign

    新增数据转换节点,进入编辑界面后,新增 SparkSQL 算子,输入语句生成 time 和签名 sign ,如下图所示:

    将当前时间设置为 time1,并使用 1.2 节的接口信息参数使用 MD5 加密获取签名 sign。

    注:由于参数串中需要使用 timestamp 为当前时间,因此 MD5 函数中还使用了 concat 函数进行拼接。

    SELECT NOW() as time1,
    UPPER(MD5(CONCAT('bba3e99f-080b-4de5-8d6b-637b79273b9aappkey352c1068-96f1-45e9-8bd7-70b5749056e2formatjsonmethodGetVehcileInfotimestamp',left(NOW(),19),'vehicleNo-1bba3e99f-080b-4de5-8d6b-637b73273b9a'))) as sign

    「数据预览」即可看到设置的 time1 和签名 sign,如下图所示:

    将其分别设置为参数 time1 和 sign,便于后续 API 取数时引入,如下图所示:

    2.3 将参数带入接口中取数

    新建数据转换节点,进入编辑界面后,新增 API 输入算子,并输入 API 地址,选择请求方式,然后设置请求参数,如下图所示:

    其中 timestamp 参数使用 2.2 节设置的当前时间参数,sign 参数使用 2.2 节生成的签名参数。

    然后点击「数据预览」即可看到取出的数据,如下图所示:

    注:若需要预览数据,则在2.1 节设置参数时需要输入默认值进行调试。

    使用 JSON 解析,将返回的 JSON 格式数据解析为二维表,如下图所示:

    最后即可使用 DB表输出将取出并解析的数据写入指定数据库,如下图所示:

    附件列表


    主题: 数据开发-定时任务
    • 有帮助
    • 没帮助
    • 只是浏览
    • 评价文档,奖励 1 ~ 100 随机 F 豆!

    鼠标选中内容,快速反馈问题

    鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。

    不再提示

    10s后关闭



    AI

    联系我们
    在线支持
    获取专业技术支持,快速帮助您解决问题
    工作日9:00-12:00,13:30-17:30在线
    页面反馈
    针对当前网页的建议、问题反馈
    售前咨询
    采购需求/获取报价/预约演示
    或拨打: 400-811-8890 转1
    qr
    热线电话
    咨询/故障救援热线:400-811-8890转2
    总裁办24H投诉:17312781526
    提交页面反馈
    仅适用于当前网页的意见收集,帆软产品问题请在 问答板块提问前往服务平台 获取技术支持