zoukankan      html  css  js  c++  java
  • 腾讯云短信开发

    腾讯云短信开发

    短信服务应用申请

    """ 准备工作
    1)创建短信应用 - 应用管理
    2)申请短信签名 - 国内短信 > 签名管理
    3)申请短信模块 - 国内短信 > 正文模板管理
    """
    

    python中开发腾讯云短信服务

    """
    1)API文档,接口的使用说吧
    2)SDK,基于开发语言封装的可以直接调用的功能(工具)集合
    	官网sdk使用文档中找到安装命令:pip install qcloudsms_py
    	按照sdk使用说明进行开发:https://cloud.tencent.com/document/product/382/11672
    """
    
    t_sms.py
    # 所有配置换成申请的数据
    
    # 申请的短信应用 SDK AppID
    appid = 1400
    # 申请的短信应用 SDK AppKey
    appkey = "ba81"
    # 申请的短信模板ID,需要在短信控制台中申请
    template_id = 5447
    # 申请的签名,参数使用的是`签名内容`,而不是`签名ID`
    sms_sign = "Owen的技术栈"
    
    
    from qcloudsms_py import SmsSingleSender
    sender = SmsSingleSender(appid, appkey)
    
    import random
    def get_code():
        code = ''
        for i in range(4):
            code += str(random.randint(0, 9))
        return code
    
    mobile = 13344556677
    # 模板所需参数,和申请的模板中占位符要保持一致
    code = get_code()
    print(code)
    params = [code, 5]
    try:
        result = sender.send_with_param(86, mobile, template_id, params, sign=sms_sign, extend="", ext="")
        if result and result.get('result') == 0:
            print('发送成功')
    except Exception as e:
        print('短信发送失败:%s' % e)
    

    短信服务二次封装

    在libs下创建 tx_sms 包
    init.py
    from .sms import get_code, send_code
    
    settings.py
    # 申请的短信应用 SDK AppID
    APP_ID = 1400
    
    # 申请的短信应用 SDK AppKey
    APP_KEY = "ba81"
    
    # 申请的短信模板ID,需要在短信控制台中申请
    TEMPLATE_ID = 5447
    
    # 申请的签名,参数使用的是`签名内容`,而不是`签名ID`
    SIGN = "Owen的技术栈"
    
    sms.py
    import random
    def get_code():
        code = ''
        for i in range(4):
            code += str(random.randint(0, 9))
        return code
    
    
    from qcloudsms_py import SmsSingleSender
    from . import settings
    from utils.logging import logger
    sender = SmsSingleSender(settings.APP_ID, settings.APP_KEY)
    def send_code(mobile, code, exp):
        try:
            result = sender.send_with_param(
                86,
                mobile,
                settings.TEMPLATE_ID,
                (code, exp),
                sign=settings.SIGN,
                extend="", ext=""
            )
            if result and result.get('result') == 0:
                return True
            logger.error('短信发送失败:%s' % result.get('errmsg'))
        except Exception as e:
            logger.critical('短信发送异常:%s' % e)
        return False
    
  • 相关阅读:
    Android 按键消息处理Android 按键消息处理
    objcopy
    SQLite多线程读写实践及常见问题总结
    android动画坐标定义
    Android动画效果translate、scale、alpha、rotate
    Android公共库(缓存 下拉ListView 下载管理Pro 静默安装 root运行 Java公共类)
    Flatten Binary Tree to Linked List
    Distinct Subsequences
    Populating Next Right Pointers in Each Node II
    Populating Next Right Pointers in Each Node
  • 原文地址:https://www.cnblogs.com/kai-/p/12388666.html
Copyright © 2011-2022 走看看