
# Node.js SDK使用指南
MSGSMS提供Node.js语言的应用侧SDK供开发者使用。本文介绍Node.js SDK的安装和配置，及使用Node.js SDK调用[API参考](https://support.huaweicloud.com/api-msgsms/sms_05_0007.html)的示例，您可以参考本章节进行快速集成开发。
#### 开发前准备
- 已[注册](https://reg.huaweicloud.com/registerui/public/custom/register.html?locale=zh-cn#/register)华为账号并开通华为云，完成[企业实名认证](https://account.huaweicloud.com/usercenter/#/accountindex/realNameAuth)。
- 已具备Node.js开发环境 ，支持Node 10.16.1及以上版本。
- 已获取华为云账号对应的Access Key（AK）和Secret Access Key（SK）。 请在华为云控制台"我的凭证 \> 访问密钥"页面上创建和查看您的AK/SK。具体请参见[访问密钥](https://support.huaweicloud.com/usermanual-ca/ca_01_0003.html)。
  
- 已获取MSGSMS服务对应区域的项目ID。 请在华为云控制台"我的凭证 \> API凭证"页面上查看项目ID。具体请参见[API凭证](https://support.huaweicloud.com/usermanual-ca/ca_01_0002.html)。
  
 
#### 安装SDK
执行如下命令安装华为云Node.js SDK相关依赖库：
```
npm install @huaweicloud/huaweicloud-sdk-core
npm install @huaweicloud/huaweicloud-sdk-msgsms
```
#### 代码示例
以调用[创建短信应用](https://support.huaweicloud.com/api-msgsms/sms_05_0023.html)接口为例，以下代码示例向您展示使用Node.js SDK的主要步骤：
1. 创建认证。
2. 创建MsgsmsClient实例并初始化。
3. 实例化请求对象。
4. 调用创建短信应用接口。
   ```
   const core = require('@huaweicloud/huaweicloud-sdk-core');
   const msgsms = require("@huaweicloud/huaweicloud-sdk-msgsms/v2/public-api");
   // 认证用的ak和sk直接写到代码中有很大的安全风险，建议在配置文件或者环境变量中密文存放，使用时解密，确保安全。
   // 本示例以ak和sk保存在环境变量中为例，运行本示例前请先在本地环境中设置环境变量CLOUD_SDK_AK和CLOUD_SDK_SK。
   const ak = process.env.CLOUD_SDK_AK;
   const sk = process.env.CLOUD_SDK_SK;
   const endpoint = "https://msgsms.cn-north-4.myhuaweicloud.com";
   const project_id = "";
   // 创建认证
   const credentials = new core.BasicCredentials()
                        .withAk(ak)
                        .withSk(sk)
                        .withProjectId(project_id)
   // 创建MsgsmsClient实例并初始化
   const client = msgsms.MsgsmsClient.newBuilder()
                               .withCredential(credentials)
                               .withEndpoint(endpoint)
                               .build();
   // 实例化请求对象
   const request = new msgsms.CreateAppRequest();
   const body = new msgsms.SmsAppAddReq();
   request.withBody(body);
   // 调用创建短信应用接口
   const result = client.createApp(request);
   result.then(result => {
       console.log("JSON.stringify(result)::" + JSON.stringify(result));
   }).catch(ex => {
       console.log("exception:" + JSON.stringify(ex));
   });
   ```
   
   | 参数         | 说明                                                                                                                                                                |
   |:---|:---|
   | ak         | 您的华为云账号访问密钥ID（Access Key ID）。                                                                                                                                     |
   | sk         | 您的华为云账号秘密访问密钥（Secret Access Key）。                                                                                                                                 |
   | endpoint   | 请替换为您要访问的MSGSMS服务所在区域的终端节点，在SDK代码[MsgsmsRegion.ts](https://github.com/huaweicloud/huaweicloud-sdk-nodejs-v3/blob/master/services/msgsms/v2/MsgsmsRegion.ts)中已经定义。 |
   | project_id | 云服务所在区域的项目ID ，根据您需要操作的项目所属区域选择对应的项目ID。                                                                                                                            |
      
   ![](https://support.huaweicloud.com/sdkreference-msgsms/public_sys-resources/note_3.0-zh-cn.png)
   项目源码及更多详细的使用指导请参考[华为云Node.js软件开发工具包（Node.js SDK）](https://github.com/huaweicloud/huaweicloud-sdk-nodejs-v3/blob/master/README_CN.md)。
   推荐您使用API在线调试工具[API Explorer](https://console.huaweicloud.com/apiexplorer/#/openapi/MSGSMS/doc?api=CreateApp) ，API Explorer支持快速调试和检索，调试API的同时，可以根据您的参数实时生成各种开发语言的SDK示例代码，方便您直接根据示例代码使用SDK。
   
 
