php对接小鹅通API开发高级实战案例解析:获取指定资源学习记录信息(单人单学习记录、单人多学习记录累计、返回数据格式确认)

简介: php对接小鹅通API开发高级实战案例解析:获取指定资源学习记录信息(单人单学习记录、单人多学习记录累计、返回数据格式确认)

前言

开发使用小鹅通API的时候,以下是一些需要注意的事项:


  1. 了解API文档:在开始开发之前,仔细阅读小鹅通的API文档,了解可用的接口和功能。熟悉文档中的请求参数和响应格式是非常重要的。
  2. 身份认证:使用小鹅通API,一般需要进行身份认证,获取访问令牌(Access Token)。确保在每次请求API时,都使用有效的访问令牌进行身份认证。
  3. API调用频率限制:小鹅通对API调用有一定的频率限制,确保你的应用程序在调用API时不会超过限制。若超过限制,可能会导致API调用失败或被临时封禁。
  4. 错误处理:在使用API时,要处理可能出现的错误情况。小鹅通的API会返回特定的错误码和错误信息,确保你的应用程序能正确处理这些错误,以提供更好的用户体验。
  5. 数据安全:在处理用户数据时,要注意数据的安全性和隐私保护。确保使用合适的加密和安全措施来保护用户数据。
  6. 版本控制:小鹅通的API可能会有更新和改动,确保你的应用程序使用的是最新的API版本,并及时更新你的代码以适应可能的变化。
  7. 测试和监控:在开发过程中,进行充分的测试,确保API调用的正确性和稳定性。同时,设置适当的监控机制,及时发现和解决潜在的问题。


一、获取指定资源学习记录信息请求方式及url


请求方式:POST

请求头:Content-Type:application/json

接口地址:https://api.xiaoe-tech.com/xe.user.leaning_record_by_resource.get/1.0.0

频率限制:10秒3000次

备注:数据是准实时的,4~5分钟延迟


二、获取指定资源学习记录信息请求参数

请求参数

1690264938451.png


请求格式

 { 
     "access_token" : "xxxxxxxx", 
     "resource_id" : "xxxxxx", 
     "data" : { 
          "search_max_learn_progress" : 90, 
          "list" : [
               "xxxx"
          ]
     },
    "page": 1,
    "page_size": 10
 }


三、单人单学习记录API封装函数

/*获取指定资源学习记录信息
 * 频率限制:10秒3000次
 * 备注:数据是准实时的,4~5分钟延迟
 * resource_id,是,资源id;
 * list,是,user_id数组,上限100, 如果传空数组,则代表所有用户;
 * data.search_max_learn_progress,最小完成百分比,添加后会筛选出来max_learn_progress > {指定值}的学习记录,值:0-100
 * data.stay_time,否,该资源的看课学习时长,添加后会筛选出来stay_time >= {指定值}的学习记录
 * By WoodCutter 2023-05-25
 * 返回参数
 * learn_progress,最近一次学习进度 0-100;
 * is_finish,是否已学完 1-已学完;
 * stay_time,学习时长,单位秒;
*/
function getUserLearnRecord($resource_id, $user_list)
{
    require_once './libs/Client.php';
    $client = new Client();
    $url = "https://api.xiaoe-tech.com/xe.user.leaning_record_by_resource.get/1.0.0";
    $method = "post";
    $data = array("search_max_learn_progress" => 0,
        "stay_time" => 0,
        "list" => $user_list);
    $params = ["resource_id" => $resource_id, 'data' => $data];
    $result = $client->request($method, $url, $params);
    return json_encode($result);
}


四、单人多学习记录API封装函数

将资源ID,组成数组格式:

$resource_list = ['l_6498027fe4b0cf39e6dc560b','l_64980f01e4b0f2aa7dfca5aa', 'l_64980fc3e4b0cf39e6dc5e90', 'l_64981fb6e4b0b0bc2bf7b35e'];


遍历$resource_list每次的单人单学习记录API封装函数,然后将stay_time进行累计。

举例如下:

获取的小鹅通学习记录数据(模拟数据)

$data = [
    ['code' => 0, 'data' => ['list' => ['stay_time' => 7]]],
    ['code' => 1, 'data' => ['list' => ['stay_time' => 8]]],
    ['code' => 0, 'data' => []],
    ['code' => 0, 'data' => ['list' => ['stay_time' => 9]]],
];


计算如下:

  • ‘code’ => 0,代表正常返回,不返回不计算;
  • ‘data’ => [],代表能返回数据,不返回数据不计算;
  • $v['code'] == 0 && !empty($v['data']),即保证返回数据格式。


$total_time = 0;
foreach ($data as $k => $v) {
    //var_dump($v['code']);
    if ($v['code'] == 0 && !empty($v['data'])) {
        $stay_time = $v['data']['list']['stay_time'];
        //echo $stay_time . "<br>";
        $total_time += $stay_time;
    }
}

总结

在小鹅通API对接的过程中,token是否超限超时过期、API接口是否超限都有特定的返回码,凭据返回码来确定下步的操作如何安排:是否入库,是否跳转页面,不能直接使用cpde=0正常码来直接进行操作。同时,尽量把小鹅通和本地代码的交互生成日志,便于快速查询问题。


@漏刻有时

相关文章
|
1月前
|
JSON 算法 API
1688商品详情API实战:Python调用全流程与数据解析技巧
本文介绍了1688电商平台的商品详情API接口,助力电商从业者高效获取商品信息。接口可返回商品基础属性、价格体系、库存状态、图片描述及商家详情等多维度数据,支持全球化语言设置。通过Python示例代码展示了如何调用该接口,帮助用户快速上手,适用于选品分析、市场研究等场景。
|
2月前
|
搜索推荐 API 开发者
京东商品列表 API 接口全解析:从入门到精通
京东商品列表API是京东开放平台为开发者提供的核心数据接口,支持批量获取商品基础信息、价格、库存状态等多维度数据。它具备数据丰富性、灵活筛选与分页查询、稳定高效等特点,可满足市场分析、选品优化、比价工具及推荐系统开发等需求,为电商业务创新提供坚实支撑。通过标准化通道,助力第三方高效、合法地利用京东海量商品数据。
|
1月前
|
监控 供应链 数据挖掘
淘宝商品详情API接口解析与 Python 实战指南
淘宝商品详情API接口是淘宝开放平台提供的编程工具,支持开发者获取商品详细信息,包括基础属性、价格、库存、销售策略及卖家信息等。适用于电商数据分析、竞品分析与价格策略优化等场景。接口功能涵盖商品基础信息、详情描述、图片视频资源、SKU属性及评价统计的查询。通过构造请求URL和签名,可便捷调用数据。典型应用场景包括电商比价工具、商品数据分析平台、供应链管理及营销活动监控等,助力高效运营与决策。
161 26
|
14天前
|
搜索推荐 数据挖掘 API
电商API调用工具全解析
电商API是电商平台提供的接口,供第三方开发者调用以实现数据交互。主要功能包括商品推广、订单处理、数据分析和客户服务等,可获取商品、订单、库存、用户、物流及评价等多类数据。通过电商API,开发者能方便地访问平台资源,构建个性化应用和服务,提升用户体验与经营效率。相关调用工具可帮助开发者更高效地整合和利用这些数据。
31 2
|
1月前
|
存储 监控 算法
内网监控桌面与 PHP 哈希算法:从数据追踪到行为审计的技术解析
本文探讨了内网监控桌面系统的技术需求与数据结构选型,重点分析了哈希算法在企业内网安全管理中的应用。通过PHP语言实现的SHA-256算法,可有效支持软件准入控制、数据传输审计及操作日志存证等功能。文章还介绍了性能优化策略(如分块哈希计算和并行处理)与安全增强措施(如盐值强化和动态更新),并展望了哈希算法在图像处理、网络流量分析等领域的扩展应用。最终强调了构建完整内网安全闭环的重要性,为企业数字资产保护提供技术支撑。
59 2
|
1月前
|
JSON API 数据格式
手把手教你抓取京东商品评论:API 接口解析与 Python 实战
京东商品评论蕴含用户对产品质量、体验和服务的真实反馈,分析这些数据有助于企业优化产品和满足用户需求。由于京东未提供官方API,需通过逆向工程获取评论数据。其主要接口为“商品评论列表接口”,支持按商品ID、评分、排序方式等参数获取评论,返回JSON格式数据,包含评论列表、摘要(如好评率)及热门标签等信息。
|
1月前
|
JSON 监控 API
深度解析淘宝天猫店铺所有商品API接口,一文带你吃透
本文介绍如何通过淘宝开放平台的API获取店铺所有商品信息,适用于电商数据分析、竞品监控等场景。核心接口为`tb.items.onsale.get`(出售中商品)和`tb.items.inventory.get`(库存商品列表)。接口采用HTTP POST请求,返回JSON格式数据,包含商品总数、列表及各商品的ID、标题、价格、图片URL等关键信息,并提供Python实现示例,助力开发者高效获取与处理数据。
|
14天前
|
API
揭秘电商API接口:商品订单支付全解析
电商API接口种类繁多,涵盖商品、订单、支付、营销、用户等多方面。常见的有:商品相关(如item_get获取详情、item_search搜索商品)、订单相关(如buyer_order_list获取订单列表)、支付接口(处理支付请求)、营销相关(优惠券、促销活动接口)、用户相关(用户信息、授权、地址管理)及其他常用接口(评价、上下架、购物车管理等)。不同平台提供的API可能有所差异,需参考具体文档。
45 0
|
14天前
|
边缘计算 API 决策智能
淘宝/天猫商品详情API返回值深度解析:应用价值与实战策略
本文深入解析淘宝/天猫商品详情API返回值的应用价值,涵盖核心字段、技术架构、应用场景与合规要求四大维度。从num_iid到skus,详解数据结构;通过分布式架构与边缘计算优化性能;探讨自动化调价、精准推荐等商业场景;并强调合规调用与开发者工具支持。助力企业提升运营效率与用户体验,在电商竞争中抢占先机。
|
14天前
|
人工智能 5G 定位技术
如何使用基站查询API帮你解析地理位置?
随着“新基建”战略推进,我国已建成全球领先的移动通信网络。基于基站数据的LBS定位服务成为各行业数字化转型的重要工具。探数平台基站查询API整合三大运营商数据,提供高精度、低延迟的地理位置查询服务,广泛应用于位置推荐、物流追踪等领域。本文详细介绍该API的核心功能、返回字段及调用流程,并通过Python示例展示使用方法。未来,随着5G和AI技术发展,基站定位将迈向厘米级精度,赋能自动驾驶、工业物联网等前沿领域,助力开发者抢占位置经济的战略高地。
80 0