全部产品

PHP

更新时间:2020-09-03 18:07:46

1. 获取AccessKey

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

操作步骤

  1. 创建RAM子账号,操作方法请参见创建RAM用户
  2. 授予RAM子账号管理移动推送(MPush)的权限,操作方法请参见为RAM用户授权
  3. 获取子账号的AccessKey信息请参见获取AccessKey

说明:AccessKey包含AccessKey ID和AccessKey Secret。

2. 获取AppKey

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

3. 安装SDK

通过Composer安装依赖:

  1. composer require alibabacloud/sdk

4. 示例代码

说明:示例代码中的accessKeyId、accessKeySecret、appKey需替换为您在2、3步骤中获取到的值。

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

  1. <?php
  2. use AlibabaCloud\Client\AlibabaCloud;
  3. use AlibabaCloud\Client\Exception\ClientException;
  4. use AlibabaCloud\Client\Exception\ServerException;
  5. // Download:https://github.com/aliyun/openapi-sdk-php
  6. // Usage:https://github.com/aliyun/openapi-sdk-php/blob/master/README.md
  7. AlibabaCloud::accessKeyClient('<accessKeyId>', '<accessSecret>')
  8. ->regionId('cn-hangzhou')
  9. ->asDefaultClient();
  10. try {
  11. $result = AlibabaCloud::rpc()
  12. ->product('Push')
  13. // ->scheme('https') // https | http
  14. ->version('2016-08-01')
  15. ->action('Push')
  16. ->method('POST')
  17. ->host('cloudpush.aliyuncs.com')
  18. ->options([
  19. 'query' => [
  20. 'RegionId' => "cn-hangzhou",
  21. 'AppKey' => "appKey",
  22. 'PushType' => "NOTICE",
  23. 'DeviceType' => "ALL",
  24. 'Target' => "DEVICE",
  25. 'TargetValue' => "deviceIds",
  26. 'Body' => "ALi Push Title",
  27. 'Title' => "Ali Push Body",
  28. ],
  29. ])
  30. ->request();
  31. print_r($result->toArray());
  32. } catch (ClientException $e) {
  33. echo $e->getErrorMessage() . PHP_EOL;
  34. } catch (ServerException $e) {
  35. echo $e->getErrorMessage() . PHP_EOL;
  36. }