Node.js

1. 获取AccessKey

为了保证云服务的安全,您需要创建一个能访问移动推送资源的RAM子账号,获取该子账号的AccessKey,并使用这个RAM子账号调用移动推送的OpenAPI。

操作步骤

  1. 创建RAM子账号,操作方法请参见创建RAM用户

  2. 授予RAM子账号管理移动推送(MPush)的权限,操作方法请参见为RAM用户授权

  3. 获取子账号的AccessKey信息请参见获取AccessKey

重要
  • AccessKey包含AccessKey ID和AccessKey Secret。

  • 调用接口前,需配置环境变量,通过环境变量读取访问凭证。配置方法:

    export CC_AK_ENV=<access_key_id>
    export CC_SK_ENV=<access_key_secret>

    <access_key_id>替换为您RAM用户的AccessKey ID,<access_key_secret>替换为AccessKey Secret。

2. 获取AppKey

登录EMAS控制台,在首页我的产品模块单击您的应用,进入应用管理页面,应用管理页面即可查看AppKey。

3. 安装SDK

阿里云Node.js SDK适用于大于Node.js 8.x的LTS版本。您可以通过执行命令node -v查看Node.js的版本。

使用npm来完成Node.js依赖模块的安装,所有阿里云官方的Node.js SDK都位于 @alicloud 下。

npm install @alicloud/pop-core --save

4. 示例代码

说明

示例代码中的appKey需替换为您在步骤2中获取到的值。

您也可以使用可视化调试工具OpenAPI Explorer,获取代码示例。

const Core = require('@alicloud/pop-core');
// 配置SDK Profile
// 阿里云账号AccessKey拥有所有API的访问权限,建议您使用RAM用户进行API访问或日常运维。
// 强烈建议不要把AccessKey ID和AccessKey Secret保存到工程代码里,否则可能导致AccessKey泄露,威胁您账号下所有资源的安全。
// 本示例通过从环境变量中读取AccessKey,来实现API访问的身份验证。
var client = new Core({
  accessKeyId: process.env.CC_AK_ENV,
  accessKeySecret: process.env.CC_SK_ENV,
  endpoint: 'https://cloudpush.aliyuncs.com',
  apiVersion: '2016-08-01'
});

var params = {
  "RegionId": "cn-hangzhou",
  "AppKey": "appKey",
  "PushType": "NOTICE",
  "DeviceType": "ALL",
  "Target": "DEVICE",
  "TargetValue": "deviceIds",
  "Body": "ALi Push Body",
  "Title": "ALi Push Title"
}

var requestOption = {
  method: 'POST',
  formatParams: false
};

client.request('Push', params, requestOption).then((result) => {
  console.log(JSON.stringify(result));
}, (ex) => {
  console.log(ex);
})