全部产品
云市场

PHP SDK

更新时间:2018-11-17 14:07:17

下载地址

IMM Service 的 PHP SDK 让 PHP 开发人员可以非常方便地使用 PHP 程序操作服务。目前,SDK 支持 PHP 5.3 及以上版本,已经开源到 Github

操作步骤

为快速开始使用 IMM Service PHP SDK,请按照如下步骤进行。

步骤 1 创建阿里云账号

具体方法请参考 阿里云账号注册流程

为了更好地使用阿里云服务,建议尽快完成实名认证,否则部分阿里云服务将无法使用。具体实名认证流程,请参考 这里

步骤 2 获取阿里云访问密钥

为了使用 IMM Service PHP SDK,您必须申请阿里云的 访问密钥。

登录阿里云 密钥管理页面。选择一对用于 SDK 的访问密钥对。如果没有,请创建一对新访问密钥,且保证它处于启用状态。有关如何创建访问密钥,参见 创建访问密钥

该密钥对会在下面的步骤使用,且需要保管好,不能对外泄露。另外,您可以参考 SDK 配置了解更多 SDK 如何使用访问密钥的信息。

步骤 3 创建项目

在使用 IMM 服务 PHP SDK 之前,请先在控制台上创建好项目(Project)。有关如何创建 Project ,参见 创建项目

步骤 4 安装 PHP 开发环境

目前,IMM 服务 PHP SDK 支持 PHP 5.3 及以上的 版本,您可以从 PHP 官方网站 下载。

步骤 5 使用 IMM Service PHP SDK

安装PHP SDK:

执行以下命令在GitHub中下载PHP SDK的源代码。

  1. git clone https://github.com/aliyun/aliyun-openapi-php-sdk.git

添加PHP SDK引用:

假设PHP SDK下载后的路径为 /path/to/aliyun-openapi-php-sdk。创建一个新的PHP文件并输入:

  1. require_once '/path/to/aliyun-openapi-php-sdk/aliyun-php-sdk-core/Config.php';

使用 IMM Service PHP SDK

以创建项目,并进行文档转换为例。请确保已经引入PHP SDK后,运行如下脚本。

  1. use imm\Request\V20170906 as Imm;
  2. $iClientProfile = DefaultProfile::getProfile(
  3. "<your-region-id>", # 您的 Region ID
  4. "<your-access-key-id>", # 您的 AccessKey ID
  5. "<your-access-key-secret>" # 您的 AccessKey Secret
  6. );
  7. $client = new DefaultAcsClient($iClientProfile);
  8. // 设置您的项目名称,请确保您已经在控制台创建该项目
  9. $projectName = "test-project-name";
  10. // 创建文档转换任务
  11. $request = new Imm\CreateOfficeConversionTaskRequest();
  12. $request->setProject($projectName);
  13. // 设置待转换对文件OSS路径
  14. $request->setSrcUri("oss://your-bucket-name/your-path/your-doc.doc");
  15. // 设置文件输出格式
  16. $request->setTgtType("png");
  17. // 设置转换后的输出路径
  18. $request->setTgtUri("oss://your-bucket-name/your-path/your-doc-output");
  19. $response = $client->getAcsResponse($request);
  20. print_r($response);
  21. // 获取文档转换任务结果
  22. // 由于转换结果非实时给出,需要轮询该接口
  23. // 设置最大轮询次数
  24. $maxRetryCount = 30;
  25. // 设置每次轮询的间隔
  26. $retryDelay = 1;
  27. $request = new Imm\GetOfficeConversionTaskRequest();
  28. $request->setTaskId($response->TaskId);
  29. $request->setProject($projectName);
  30. while($maxRetryCount--){
  31. sleep($retryDelay);
  32. $response = $client->getAcsResponse($request);
  33. print_r($response);
  34. if($response->Status != 'Running') break;
  35. }

若在使用中有疑问,请参考 FAQ,或者进入 钉钉用户群 实时交流。