文档

php

更新时间:

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

通过Composer安装依赖:

composer require alibabacloud/sdk

4. 示例代码

说明

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

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

<?php
use AlibabaCloud\Client\AlibabaCloud;
use AlibabaCloud\Client\Exception\ClientException;
use AlibabaCloud\Client\Exception\ServerException;

// Download:https://github.com/aliyun/openapi-sdk-php
// Usage:https://github.com/aliyun/openapi-sdk-php/blob/master/README.md
// 配置SDK Profile
// 阿里云账号AccessKey拥有所有API的访问权限,建议您使用RAM用户进行API访问或日常运维。
// 强烈建议不要把AccessKey ID和AccessKey Secret保存到工程代码里,否则可能导致AccessKey泄露,威胁您账号下所有资源的安全。
// 本示例通过从环境变量中读取AccessKey,来实现API访问的身份验证。
AlibabaCloud::accessKeyClient(getenv("CC_AK_ENV"), getenv("CC_SK_ENV"))
                        ->regionId('cn-hangzhou')
                        ->asDefaultClient();

try {
    $result = AlibabaCloud::rpc()
                          ->product('Push')
                          // ->scheme('https') // https | http
                          ->version('2016-08-01')
                          ->action('Push')
                          ->method('POST')
                          ->host('cloudpush.aliyuncs.com')
                          ->options([
                                        'query' => [
                                          'RegionId' => "cn-hangzhou",
                                          'AppKey' => "appKey",
                                          'PushType' => "NOTICE",
                                          'DeviceType' => "ALL",
                                          'Target' => "DEVICE",
                                          'TargetValue' => "deviceIds",
                                          'Body' => "ALi Push Title",
                                          'Title' => "Ali Push Body",
                                        ],
                                    ])
                          ->request();
    print_r($result->toArray());
} catch (ClientException $e) {
    echo $e->getErrorMessage() . PHP_EOL;
} catch (ServerException $e) {
    echo $e->getErrorMessage() . PHP_EOL;
}
  • 本页导读 (0)
文档反馈