我孤身走在路上, 石子在雾中发亮,夜很安静,荒原面对太空,星星互诉衷肠
Python调用阿里接口发送手机短信
Python调用阿里接口发送手机短信

Python调用阿里接口发送手机短信

python调用阿里接口发送手机短信,可以做通知,验证短信什么的,后台自定义模板,然后把模板改成你自己的就可以了

# coding=utf-8
"""
@Time : 2022/9/13 13:35
@Author : Taering
@File :手机发送验证码.py
@IDE :PyCharm
@DESC :
"""

from typing import List

from alibabacloud_dysmsapi20170525.client import Client as Dysmsapi20170525Client
from alibabacloud_tea_openapi import models as open_api_models
from alibabacloud_dysmsapi20170525 import models as dysmsapi_20170525_models
from alibabacloud_tea_util import models as util_models
from alibabacloud_tea_util.client import Client as UtilClient


class Sample:
    def __init__(self):
        pass

    @staticmethod
    def create_client(
            access_key_id: str,
            access_key_secret: str,
    ) -> Dysmsapi20170525Client:
        """
        使用AK&SK初始化账号Client
        @param access_key_id:
        @param access_key_secret:
        @return: Client
        @throws Exception
        """
        config = open_api_models.Config(
            # 必填,您的 AccessKey ID,
            access_key_id=access_key_id,
            # 必填,您的 AccessKey Secret,
            access_key_secret=access_key_secret
        )
        # Endpoint 请参考 https://api.aliyun.com/product/Dysmsapi
        config.endpoint = f'dysmsapi.aliyuncs.com'
        return Dysmsapi20170525Client(config)

    @staticmethod
    def main(
            args: List[str],
    ) -> None:
        # 请确保代码运行环境设置了环境变量 ALIBABA_CLOUD_ACCESS_KEY_ID 和 ALIBABA_CLOUD_ACCESS_KEY_SECRET。
        # 工程代码泄露可能会导致 AccessKey 泄露,并威胁账号下所有资源的安全性。以下代码示例使用环境变量获取 AccessKey 的方式进行调用,仅供参考,建议使用更安全的 STS 方式,更多鉴权访问方式请参见:https://help.aliyun.com/document_detail/378659.html
        client = Sample.create_client('你的ID', '你的key')# 为了安全,建议将关键信息写入系统变量或者配置成配置文件
        send_sms_request = dysmsapi_20170525_models.SendSmsRequest(
            sign_name='你的签名',
            template_code='模板名字',
            phone_numbers='手机号',
            template_param='{"code":"信息变量"}'
        )
        runtime = util_models.RuntimeOptions()
        try:
            # 复制代码运行请自行打印 API 的返回值
            res = client.send_sms_with_options(send_sms_request, runtime)
            print(res)
            if res.body.message == 'OK':
                print({'code': '200', 'msg': 'send message successful'})
            else:
                print({'code': '400', 'msg': 'please wait for 1 min'}) # 还有其他的返回,接口文档中有,自己根据业务调整


        except Exception as error:
            # 如有需要,请打印 error
            UtilClient.assert_as_string(error.message)

    


if __name__ == '__main__':
    list = []
    Sample.main(list)

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

+ 79 = 82