阿里雲短信調用方法,超詳細,無差錯


阿里雲短信調用方法

環境准備

1.首先需要一個RAM賬號,您需要一個RAM賬號以及一對AccessKey ID和AccessKey Secret,請在阿里雲控制台中的AccessKey管理頁面上創建和查看您的AccessKey,或聯系您的系統管理員。
2.使用阿里雲SDK調用某個產品的API前,確保您已經在阿里雲控制台開通了該產品。

阿里雲短信應用鏈接https://dysms.console.aliyun.com/

圖片新標簽頁打開會很清晰

安裝阿里雲 Python SDK

安裝SDK核心庫

1.如果您使用Python 2.x,執行以下命令,安裝阿里雲SDK核心庫:

pip install aliyun-python-sdk-core

2.如果您使用Python 3.x,執行以下命令,安裝阿里雲SDK核心庫:

pip install aliyun-python-sdk-core-v3

安裝雲產品的SDK

pip install aliyun-python-sdk-ecs

使用Python SDK

1.創建Client實例。在創建Client實例時,您需要獲取Region ID、AccessKey ID和AccessKey Secret

2.創建request對象並添加屬性

3.發起請求並處理應答或異常。

# !/usr/bin/env python
# coding=utf-8
# !/usr/bin/env python
# coding=utf-8

# 我把AccessKey ID和AccessKey Secret存到配置文件中了(防止明文被看到)
from luffyapi.settings.dev import ACCESSKEYID, ACCESSSECRET

# 導入所需模塊,再次之前我們都已經pip install好了的
from aliyunsdkcore.client import AcsClient
from aliyunsdkcore.request import CommonRequest

# 這三個參數即 AccessKey ID, AccessKey Secret, 地區的id,關於地區id怎么獲得我會貼在文章最下方
client = AcsClient(ACCESSKEYID, ACCESSSECRET, "cn-shanghai")

# 下面就是一些規定的配置,復制即可
request = CommonRequest()
request.set_accept_format("json")
request.set_domain("dysmsapi.aliyuncs.com")
request.set_method("POST")
request.set_protocol_type("https")  # https | http
request.set_version("2017-05-25")
request.set_action_name("SendSms")

# 配置地區id  地區id即為 cn_%s % (所在的地區名,應該是可以細分到市級的,如cn_hangzhou)
request.add_query_param("RegionId", "cn-shanghai")
# 配置要發送的手機號碼
request.add_query_param("PhoneNumbers", "1881****052")
# 配置你所設置的信息模板code,文章下方我會貼出來在哪邊可以設置信息模板
request.add_query_param("TemplateCode", "SMS_171117099")
# 這個TemplateParam參數是給信息模板中的變量傳值的,正常使用應該是后端獲取驗證碼然后塞到這個參數中的
request.add_query_param("TemplateParam", {"code": "456123"})
# 這是配置簽名的          
request.add_query_param("SignName", "輸誠一")

response = client.do_action(request)   # 調用發送短信方法

print(str(response, encoding='utf-8'))  # 可以打印出返回值,繼而可以看到短信發送狀態,正常如果成功了會顯示:{"Message":"賬戶余額不足","RequestId":"07E5BFA8-7E61-4878-BCFC-A7F5D857AB9F","Code":"isv.AMOUNT_NOT_ENOUGH"}, 因為我們沒充錢呀!

補充

添加簽名

添加短信模板

# 上圖中如果模板內容中設置了變量的話,就需要配置:

# 這個TemplateParam參數是給信息模板中的變量傳值的,正常使用應該是后端獲取驗證碼然后塞到這個參數中的
request.add_query_param("TemplateParam", {"code": "456123"})
# 這個后面的 參數必須要是一個符合json格式的字典作為參數, 字典的key必須要與模板內容中(${code})中變量的值一模一樣("code"),照理說可以設置多個變量,但是我無法DIY模板內容,只是作為測試,測試成功了即可,要投入使用就要花錢買信息量了。

# 這段代碼在上面可以找到,一看便知

幫到你的話可以點個贊/關注一下/支持一下~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM