阿里雲API調試工具OpenAPI Explore提供OpenAPI文檔、API調試和SDK樣本,協助您快速入門API開發。本文介紹如何安裝和快速使用Intelligent Media ManagementSwift SDK。
前提條件
已建立並擷取AccessKey。具體操作,請參見建立AccessKey。
已開通OSS服務、建立儲存空間並上傳檔案到儲存空間。具體操作,請參見控制台上傳檔案。
已開通Intelligent Media Management服務。具體操作,請參見開通產品。
已通過Intelligent Media Management控制台建立專案。具體操作,請參見建立專案。
說明您也可以調用API介面建立專案。具體操作,請參見CreateProject - 建立專案。
您可以調用ListProjects - 列出所有專案資訊的列表介面列出指定地區下已建立的所有專案資訊。
安裝SDK
重要
調用2020-09-30版本的API,需要使用2020-09-30版本的SDK。
使用Intelligent Media ManagementSwift SDK的操作步驟請參見快速入門。
使用方法
如下以在華東1(杭州)地區中檢測圖片中的人臉及人臉資訊為例介紹如何使用Intelligent Media ManagementSwift SDK。
說明
複製使用如下範例程式碼時請將訪問網域名稱換成您的IMM專案所在Region的網域名稱,並且IMM專案和OSS檔案Region需要保持一致。
#!/usr/bin/env xcrun swift
import Cocoa
import Foundation
import Tea
import AlibabacloudImm20200930
import AlibabacloudOpenApi
import TeaUtils
open class Client {
public static func createClient(_ accessKeyId: String?, _ accessKeySecret: String?) throws -> AlibabacloudImm20200930.Client {
var config: AlibabacloudOpenApi.Config = AlibabacloudOpenApi.Config([
"accessKeyId": accessKeyId as! String,
"accessKeySecret": accessKeySecret as! String
])
// 填寫專案所在地區的IMM服務網域名稱。
config.endpoint = "imm.cn-hangzhou.aliyuncs.com"
return AlibabacloudImm20200930.Client(config)
}
@available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *)
public static func main(_ args: [String]?) async throws -> Void {
// 阿里雲帳號AccessKey擁有所有API的存取權限,建議您使用RAM使用者進行API訪問或日常營運。
// 強烈建議不要把AccessKey ID和AccessKey Secret儲存到工程代碼裡,否則可能導致AccessKey泄露,威脅您帳號下所有資源的安全。
// 本樣本通過從環境變數中讀取AccessKey,來實現API訪問的身分識別驗證。如何配置環境變數,請參見https://www.alibabacloud.com/help/document_detail/2361894.html。
let accessKeyId = ProcessInfo.processInfo.environment["AccessKeyId"]
let accessKeySecret = ProcessInfo.processInfo.environment["AccessKeySecret"]
var client: AlibabacloudImm20200930.Client = try Client.createClient(accessKeyId, accessKeySecret)
var detectImageFacesRequest: AlibabacloudImm20200930.DetectImageFacesRequest = AlibabacloudImm20200930.DetectImageFacesRequest([
// IMM專案名稱。
"projectName": "immtest",
// 待檢測圖片的OSS URI。
"sourceURI": "oss://test-bucket/test-object.jpg"
])
var runtime: TeaUtils.RuntimeOptions = TeaUtils.RuntimeOptions([:])
do {
// 發起請求。
try await client.detectImageFacesWithOptions(detectImageFacesRequest as! AlibabacloudImm20200930.DetectImageFacesRequest, runtime as! TeaUtils.RuntimeOptions)
}
catch {
if error is Tea.TeaError {
try TeaUtils.Client.assertAsString(error.message)
} else {
throw error
}
}
}
}
Client.main(CommandLine.arguments)