返回顶部
首页 > 资讯 > 后端开发 > Python >使用python3.0 对接美团接口的实现示例
  • 881
分享到

使用python3.0 对接美团接口的实现示例

2024-04-02 19:04:59 881人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

目录前言一、请求接口的基本系统参数解析二、具体参数的代码实现总结提示:嗨咯,大家好,今天又来更新了  本章要和大家分享的是关于美团接口的实现方式以及部分代码的展示。 前言

提示:嗨咯,大家好,今天又来更新了  本章要和大家分享的是关于美团接口的实现方式以及部分代码的展示。

前言

首先我们去对接一个接口时首先要懂它的接口规则,也就是要读懂他的官方文档  地址如下:

https://open-shanGou.meituan.com/home/doc/bulkPurchasing/37

提示:以下是本篇文章正文内容,下面案例可供参考

一、请求接口的基本系统参数解析

 

解析:时间戳(timestamp)获取当前的时间转化为一串数字

app_id 是美团给的官方id这个没什么好说的

sig 这个值是根据一系列的参数和 美团Secret拼接 通过mod5加密然后得到的一个字符串

具体 计算签名的方法再看看官方文档:美团闪购开放平台  

这几个系统级参数都是每次必填的

二、具体参数的代码实现

1.timestamp(时间戳)

def get_tamp():  # 获取当前的时间戳
    t = time.time()
    return int(t)

2.计算sig签名

代码如下(示例):

#这个方法可以直接将传入的参数拼接成加密前的字符串
def param_sort(param_dict):  #传入字典,返回生成sig的字符串
    keys_list = sorted(param_dict.keys())
    rb_str = ''
    for k in keys_list:
        key_value = k + '=' + str(param_dict[k])
        rb_str = rb_str + key_value + "&"
        # rb_str = rb_str[0:-1] #不保留字符串末尾的&
    return rb_str[0:-1]
#通过前面的字符串 加密出sig
def sig_mod5(sig_url):  #将字符串传入进行加密
    m = hashlib.md5()
    m.update(sig_url.encode('utf8'))
    sig = m.hexdigest()
    return sig
 
 

3.获取一个时间段的订单号

下面就浅浅的演示一下吧

 
def param_sort(param_dict):  #传入字典,返回生成sig的字符串
    keys_list = sorted(param_dict.keys())
    rb_str = ''
    for k in keys_list:
        key_value = k + '=' + str(param_dict[k])
        rb_str = rb_str + key_value + "&"
        # rb_str = rb_str[0:-1] #不保留字符串末尾的&
    return rb_str[0:-1]
 
def sig_mod5(sig_url):
    m = hashlib.md5()
    m.update(sig_url.encode('utf8'))
    sig = m.hexdigest()
    return sig
 
def get_tamp():  # 获取当前的时间戳
    t = time.time()
    return int(t)
 
def req_get_result(api_url, api_data):  # get方法请求函数
    req_get = requests.get(api_url, api_data)
    result = req_get.JSON()
    return result
 
 
 
def req_post_result(api_url, api_data):  # post方法请求函数
    req_post = requests.post(api_url, data=api_data)
    result = req_post.json()
    return result
 
 
def 获取一个时间段的订单号(date_time, day_seq_start,day_seq_end,mendian):  # 今日流水单号,门店编号
    sing_data = {
        'app_id': 2005,#演示app_id并非真的
        'app_poi_code': mendian, #门店编号
        'timestamp': get_tamp(),  # 时间戳
        'date_time': date_time,   #下面几个参数是应用级参数
        'day_seq_start': day_seq_start,
        'day_seq_end': day_seq_end  
    }
    # 请求地址
    url = 'Https://waimaiopen.meituan.com/api/v1/ecommerce/order/getOrderIdByDaySeq'
    # 美团Secret
    secret = '6322e9b60722123cd196729a9481223b' #演示secret 并非真的
    # 拼接sig前的字符串
    befsig = url + '?' + param_sort(sing_data) + secret #把参数拼接成美团规定的格式
    sig = sig_mod5(befsig) #然后对拼接字符串进行加密
    urls = url + '?' + param_sort(sing_data) + '&sig=' + sig #加密之后再次拼接请求地址
    print(urls)
    req_get = requests.get(urls) #发起请求
    result = req_get.json()
    return result['data'] #返回结果

总结

总的来说实现的方式还是比较简单,可能难点就是要去读懂他们的文档,了解他们规则,今天的分享就到此为啦!!!

到此这篇关于使用python3.0 对接美团接口的实现示例的文章就介绍到这了,更多相关python3.0 对接美团接口内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: 使用python3.0 对接美团接口的实现示例

本文链接: https://lsjlt.com/news/118394.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 使用python3.0 对接美团接口的实现示例
    目录前言一、请求接口的基本系统参数解析二、具体参数的代码实现总结提示:嗨咯,大家好,今天又来更新了  本章要和大家分享的是关于美团接口的实现方式以及部分代码的展示。 前言 ...
    99+
    2024-04-02
  • 如何使用python3.0对接美团接口
    今天小编给大家分享一下如何使用python3.0对接美团接口的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一、请求接口的基本...
    99+
    2023-06-30
  • PHP Thinkphp5.0对接美团API接口 实现卡卷核销功能
    好久没有更新文章了。不知道关注我的小伙伴们是不是已经不在关注我了。最近在忙着一些推广运营的事情,所以没有更新, 这几天接到一个项目,需要对接美团API接口,实现核销功能。现在就来给大家展示具体代码, ...
    99+
    2023-09-17
    php android 开发语言
  • vue中对接Graphql接口的实现示例
    说明: 本文是本人正在搞nestjs+graphql+serverless训练营中对Graphql讲解的基础知识点,可能有点前后没对接上,文中提到的Graphql授权也是下小节介绍的...
    99+
    2024-04-02
  • 使用Nest.js实现接口教程示例
    目录一.项目初始化二.核心文件介绍三.创建一个接口模块,处理请求四.看看cats模块有啥吧1.先看controller吧,请求方法都在这了2.你这地址有点单调啊,能不能接收query...
    99+
    2024-04-02
  • C#接口重的实现示例
    这篇文章给大家介绍C#接口重的实现示例,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。派生类可以对基类中已经定义的成员方法进行重载。类似的概念引入到类对接口的实现中来,叫做接口的重实现(re-implementation...
    99+
    2023-06-17
  • 怎么在接口回调中的使用接口对象的实例化
    本篇文章为大家展示了怎么在接口回调中的使用接口对象的实例化,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。接口回调:可以把实现某一接口类创建的对象的引用赋给该接口声明的接口变量,那么该接口变量就可以调...
    99+
    2023-05-31
    接口 对象 实例化
  • Guava Retryer实现接口重试的示例
    目录前言 Guava Retryer 引入依赖 快速开始 指数退避(Exponential Backoff) 斐波那契退避(Fibonacci Backoff) 重试监听器 小结 前...
    99+
    2024-04-02
  • 实例演示:Golang中接口的使用技巧
    Golang中接口的使用技巧 Golang(又称Go语言)作为一门快速、简单、高效的编程语言,其接口机制是其特色之一。接口是一种抽象的类型,在Golang中广泛使用,可以提高代码的灵活...
    99+
    2024-02-22
    接口 技巧 golang go语言
  • Springboot使用redis实现接口Api限流的示例代码
    前言 该篇介绍的内容如题,就是利用redis实现接口的限流(  某时间范围内 最大的访问次数 ) 。 正文  惯例,先看下我们的实战目录结构: 首先...
    99+
    2024-04-02
  • C#实现接口base调用示例详解
    目录背景方法1:使用反射找到接口实现并进行调用方法2:利用函数指针方法3:利用Fody在编译时对接口方法进行IL的call调用性能测试总结背景 在三年前发布的C#8.0中有一项重要的...
    99+
    2024-04-02
  • C#实现接口的实例
    这篇文章主要介绍“C#实现接口的实例”,在日常操作中,相信很多人在C#实现接口的实例问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C#实现接口的实例”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!C#实现接...
    99+
    2023-06-17
  • Golang接口的定义与空接口及断言的使用示例
    目录1. Golang中的接口2. 为什么要使用接口3. 定义一个Usber接口(从下往上转换)4. 空接口1. 空接口说明2. 空接口作为函数的参数3. 切片实现空接口4. map...
    99+
    2023-05-15
    Go接口的定义 Go空接口 Go断言
  • Python+flask实现restful接口的示例详解
    目录>1.第一个实例:HelloWorld 2.Post 方法 3.Get 方法 4.通过变量设置动态url 1.第一个实例:HelloWorld 1.编写python代...
    99+
    2023-02-08
    Python flask实现restful接口 Python restful接口 Python flask restful接口
  • webservice实现springboot项目间接口调用与对象传递示例
    目录一、百度百科二、webservice的技术支持1、XML和XSD2、SOAP3、WSDL4、UDDI5、调用RPC与消息传递三、webservice的应用场景和弊端1、webse...
    99+
    2024-04-02
  • Future与FutureTask接口实现示例详解
    目录正文Future类FutureTaskCallable+Future获取执行结果Callable+FutureTask获取执行结果正文 Future就是对于具体的Runnable...
    99+
    2022-11-13
    Future FutureTask接口 Future FutureTask
  • Springboot使用redis实现接口Api限流的实例
    前言 该篇介绍的内容如题,就是利用redis实现接口的限流(  某时间范围内 最大的访问次数 ) 。 正文  惯例,先看下我们的实战目录结构: 首...
    99+
    2024-04-02
  • Java的接口使用实例分析
    这篇文章主要介绍了Java的接口使用实例分析的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Java的接口使用实例分析文章都会有所收获,下面我们一起来看看吧。接口一图流接口的概念以及一些知识点汇总接口(英文:In...
    99+
    2023-06-30
  • python+requests+pytest接口自动化的实现示例
    目录1、发送get请求2、发送post请求3、发送https请求4、文件上传5、文件下载6、timeout超时7、鉴权 7.1、auth参数鉴权7.2、session操作7.3、to...
    99+
    2024-04-02
  • Vue+Springboot实现接口签名的示例代码
    1、实现思路 接口签名目的是为了,确保请求参数不会被篡改,请求的数据是否已超时,数据是否重复提交等。 接口签名示意图 客户端提交请求时,将以下参数按照约定签名方式进行签名,随后...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作