阿里云SMS服务C++ SDK编译及调试关键点记录

一. 阿里云SMS服务开通及准备工作

在阿里云官网上完成这部分的工作

  1. 申请资质 个人or企业

我这里是用的企业资质

  1. 申请签名

企业资质认证成功后,会自动赠送一个用于测试的短信签名

也可以自己再进行申请,需要等待审核。

  1. 申请短信模板

企业资质认证成功后,会自动赠送一个用于测试的验证类短信模板,内容是发送一个验证码。

我这里又自己申请了一个通知类短信进行测试,需要等待审核。

注意,申请短信模板时一定要写清楚场景说明,写明测试的目的,和短信内容的关联,不然会审核不通过。

4.申请短信试用

个人用户和企业用户都可以免费试用的,记得申请。

  1. 绑定测试手机号

在快速学习和测试中,添加测试用的手机号码,最多可以加5个。

6.生成并保存自己的ACCESS_KEY_ID和ACCESS_KEY_SECRET

通过以上6步骤,即完成网页端的申请和配置。

二. 阿里云SDK编译

在阿里云API门户(阿里云OpenAPI开发者门户)上搜索短信服务,可以找到相关所有的开发技术支持。

  1. 选择V1.0版本的SDK,git下载到本地
  1. CMAKE正常Configure成功后,BUILD_PRODUCT配置为dysmsapi,Generate生成工程alibabacloud-sdk.sln

CMAKE相关知识

【CMake】15分钟带你入门CMake_cmake原理-CSDN博客

CMake的原理与使用方法_cmake原理-CSDN博客

  1. 打开工程alibabacloud-sdk.sln,选择INSTALL为启动项,分别在debug和release x64下生成解决方案,得到bin目录和lib目录

此过程中,个人笔记本电脑直接生成成功,但用个人工作电脑生成解决方案时出现curl lib cmake相关的报错,应为cmake过程出现错误,手动讲curl的include lib dll目录拷贝到工程目录下的3rdparty\curl-prefix\文件夹下后,不再报错。

完成以上工作后,SDK相关的准备工作即完成。

三. 测试

  1. 新建工程

新建SMSTest工程

  1. 拷贝依赖项到工程

将编译生成的bin目录和lib目录都拷贝到新工程目录下,将core目录和dysmsapi目录下的include文件夹拷贝并合并到新工程目录下

最终工程目录如下:

  1. 配置工程的include目录和lib目录

  2. 根据API编写代码

有一个偷懒的方法,在API门户中 选择调式 > 选择发送短信 > 填写发送的信息 > 选择SDK示例 > 选择V1.0 > 选择C++ 后,就会自动生成代码。

复制代码到工程中,需要填入自己的ACCESS_KEY_ID和ACCESS_KEY_SECRET,然后改一下模板中需要填写的参数就好了。

  1. 调试工程

跑一下代码,根据报错修改程序,我这里是报了"error: Request parameters has malformed encoded characters."这个错,中文编码的问题,需要设置编码方式为utf-8,这里参考了VS2022设置编码方式为utf-8的三种方式_vs utf8-CSDN博客的方法3后,发送成功。

相关推荐
你怎么知道我是队长3 小时前
C语言---枚举变量
c语言·开发语言
李慕婉学姐3 小时前
【开题答辩过程】以《基于JAVA的校园即时配送系统的设计与实现》为例,不知道这个选题怎么做的,不知道这个选题怎么开题答辩的可以进来看看
java·开发语言·数据库
吃茄子的猫3 小时前
quecpython中&的具体含义和使用场景
开发语言·python
云栖梦泽3 小时前
易语言中小微企业Windows桌面端IoT监控与控制
开发语言
数据大魔方3 小时前
【期货量化实战】日内动量策略:顺势而为的短线交易法(Python源码)
开发语言·数据库·python·mysql·算法·github·程序员创富
fpcc4 小时前
C++编程实践——链式调用的实践
c++
Edward.W5 小时前
Python uv:新一代Python包管理工具,彻底改变开发体验
开发语言·python·uv
小熊officer5 小时前
Python字符串
开发语言·数据库·python
月疯5 小时前
各种信号的模拟(ECG信号、质谱图、EEG信号),方便U-net训练
开发语言·python
荒诞硬汉5 小时前
JavaBean相关补充
java·开发语言