即時發布為離線包提供 Java SDK,您可以通過調用開放介面來實現配置、建立、發布及管理離線包的操作。
如果使用 STS 方式調用 OpenAPI,請參考文檔 使用 STS 方式調用 OpenAPI。
準備工作
在使用 OpenAPI 前,您需要先擷取 AccessKey、App ID、Workspace ID 與 Tenant ID,並配置 Maven 依賴及設定檔上傳。
擷取 AccessKey
AccessKey 包括 AccessKey ID 與 AccessKey Secret,點擊此處 查看擷取方式。
AccessKey ID:用於標識使用者。
AccessKey Secret:用於驗證使用者的密鑰,必須保密。
擷取 App ID、Workspace ID 與 Tenant ID
登入 mPaaS 控制台,進入應用。
在 總覽 頁,依次點擊 代碼配置(可視情況選擇 Android 或 iOS) > 下載設定檔 > 立即下載,在右側彈出的 代碼配置 視窗中,您可以看到 App ID、Workspace ID 和 Tenant ID 的值。
配置 Maven 依賴
在使用 OpenAPI 之前,您需要完成以下 Maven 依賴配置。
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>mpaas20201028</artifactId>
<version>5.0.0</version>
</dependency>環境變數配置
配置環境變數 MPAAS_AK_ENV 和 MPAAS_SK_ENV。
Linux 和 macOS 系統配置方法執行以下命令:
export MPAAS_AK_ENV=<ACCESS_KEY_ID> export MPAAS_SK_ENV=<ACCESS_KEY_SECRET>說明<ACCESS_KEY_ID>替換為已準備好的 AccessKey ID,<ACCESS_KEY_SECRET>替換為 AccessKey Secret。Windows 系統配置方法
建立環境變數,添加環境變數 MPAAS_AK_ENV 和 MPAAS_SK_ENV,並寫入已準備好的 AccessKey ID 和 AccessKey Secret。
重啟 Windows 系統。
使用樣本
import com.aliyun.mpaas20201028.Client;
import com.aliyun.mpaas20201028.models.QueryMcubeVhostRequest;
import com.aliyun.mpaas20201028.models.QueryMcubeVhostResponse;
public class MpaasApiDemo {
/**
* mPaaS控制台上對應的APP ID
*/
private static final String APP_ID = "ALIPUB40DXXXXXXX";
/**
* mPaaS控制台上對應的工作空間id
*/
private static final String WORKSPACE_ID = "default";
/**
* mPaaS控制台上對應的租戶id
*/
private static final String TENANT_ID = "XVXXXXXF";
/**
* 調用的endpoint
*/
private static final String END_POINT = "mpaas.cn-hangzhou.aliyuncs.com";
public static void main(String[] args) throws Exception {
// 阿里雲帳號AccessKey擁有所有API的存取權限,建議您使用RAM使用者進行API訪問或日常營運。
// 強烈建議不要把AccessKey ID和AccessKey Secret儲存到工程代碼裡,否則可能導致AccessKey泄露,威脅您帳號下所有資源的安全。
// 本樣本以將AccessKey ID和AccessKey Secret儲存在環境變數為例說明。您也可以根據業務需要,儲存到設定檔裡。
String accessKeyId = System.getenv("MPAAS_AK_ENV");
String accessKeySecret = System.getenv("MPAAS_SK_ENV");
com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config()
.setAccessKeyId(accessKeyId)
.setAccessKeySecret(accessKeySecret)
.setEndpoint(END_POINT);
Client client = new Client(config);
QueryMcubeVhostRequest queryMcubeVhostRequest = new QueryMcubeVhostRequest();
queryMcubeVhostRequest.setAppId(APP_ID);
queryMcubeVhostRequest.setWorkspaceId(WORKSPACE_ID);
queryMcubeVhostRequest.setTenantId(TENANT_ID);
QueryMcubeVhostResponse acsResponse = null;
try {
QueryMcubeVhostResponse queryMcubeVhostResponse = client.queryMcubeVhost(queryMcubeVhostRequest);
System.out.println(queryMcubeVhostResponse.getBody().getResultCode());
System.out.println(queryMcubeVhostResponse.getBody().getQueryVhostResult());
} catch (Exception e) {
throw new RuntimeException(e);
}
}
}
設定檔上傳
由於在所有的 API 介面中均不允許出現檔案流,所以需要上傳的檔案都應先調用上傳工具類來將檔案上傳至 OSS,再將返回的 OSS 地址作為參數傳遞到指定的 API 中。
您可下載相關的檔案的上傳工具類 OssPostObject.java.zip。
使用樣本
檔案上傳樣本如下:
GetMcubeFileTokenRequest getMcubeFileTokenRequest = new GetMcubeFileTokenRequest();
getMcubeFileTokenRequest.setAppId(APP_ID);
getMcubeFileTokenRequest.setOnexFlag(true);
getMcubeFileTokenRequest.setTenantId(TENANT_ID);
getMcubeFileTokenRequest.setWorkspaceId(WORKSPACE_ID);
GetMcubeFileTokenResponse acsResponse = client.getMcubeFileToken(getMcubeFileTokenRequest);
System.out.println(JSON.toJSONString(acsResponse));
GetMcubeFileTokenResponseBody.GetMcubeFileTokenResponseBodyGetFileTokenResultFileToken fileToken = acsResponse.getBody().getGetFileTokenResult().getFileToken();
OssPostObject ossPostObject = new OssPostObject();
ossPostObject.setKey(fileToken.getDir());
ossPostObject.setHost(fileToken.getHost());
ossPostObject.setOssAccessId(fileToken.getAccessid());
ossPostObject.setPolicy(fileToken.getPolicy());
ossPostObject.setSignature(fileToken.getSignature());
ossPostObject.setFilePath("your/local/file/path");
String s = ossPostObject.postObject();有關 GetMcubeFileTokenRequest 的說明請參見 擷取上傳檔案 token。