产品概述
功能介绍
产品优势
应用场景
基本概念
pod install。pod"QCloudCOSSMH/Api"
#import <QCloudCOSSMHApi.h>
// 配置发布域名[QCloudSMHBaseRequest setBaseRequestHost:@"<libraryId>.api.tencentsmh.cn" targetType:QCloudECDTargetRelease];[QCloudSMHBaseRequest setTargetType:QCloudECDTargetRelease];
- (void)accessTokenWithRequest:(QCloudSMHBizRequest *)requesturlRequest:(NSURLRequest *)urlRequstcompelete:(QCloudSMHAuthentationContinueBlock)continueBlock {// 首先从您的访问令牌服务器获取包含了访问令牌信息的响应QCloudSMHSpaceInfo * spaceInfo = [QCloudSMHSpaceInfo new];spaceInfo.accessToken = @""; // 访问令牌 TokenspaceInfo.expiresIn = @""; // 访问令牌的有效时长,单位为秒spaceInfo.libraryId = @""; //spaceInfo.spaceId = @"";continueBlock(sapceInfo, nil);}
QCloudAccessTokenFenceQueueDelegate 协议。@property (nonatomic) QCloudSMHAccessTokenFenceQueue *fenceQueue;self.fenceQueue = [QCloudSMHAccessTokenFenceQueue new];self.fenceQueue.delegate = self;
QCloudAccessTokenFenceQueueDelegate。- (void)fenceQueue:(QCloudSMHAccessTokenFenceQueue *)queuerequest:(QCloudSMHBizRequest *)requestrequestCreatorWithContinue:(QCloudAccessTokenFenceQueueContinue)continueBlock {// 首先从您的访问令牌服务器获取包含了访问令牌信息的响应QCloudSMHSpaceInfo * spaceInfo = [QCloudSMHSpaceInfo new];spaceInfo.accessToken = @""; // 访问令牌 TokenspaceInfo.expiresIn = @""; // 访问令牌的有效时长,单位为秒spaceInfo.libraryId = @""; //spaceInfo.spaceId = @"";continueBlock(sapceInfo, nil);}// 在该方法中使用脚手架进行请求 sdk 内部缓存的 accessToken 并使用 continueBlock 回调给 sdk,若// sdk 内缓存的 accessToken 过期或没有,则跳转到上面方法中进行请求最新的 accessToken 回调给 sdk 并缓存。- (void)accessTokenWithRequest:(QCloudSMHBizRequest *)requesturlRequest:(NSURLRequest *)urlRequstcompelete:(QCloudSMHAuthentationContinueBlock)continueBlock {[self.fenceQueue performRequest:requestwithAction:^(QCloudSMHSpaceInfo *_Nonnull accessToken, NSError *_Nonnull error) {if (error) {continueBlock(nil, error);} else {continueBlock(accessToken, nil);}}];}
QCloudSMHListContentsRequest *req = [QCloudSMHListContentsRequest new];// 用户所在空间 IDreq.spaceId = @"spaceId";// 用户所在 libraryidreq.libraryId = @"libraryId";// 目录路径或相簿名,对于多级目录,使用斜杠(/)分隔,例如 foo/bar;对于根目录,该参数留空;req.dirPath = @"dirpath";[req setFinishBlock:^(QCloudSMHContentListInfo *_Nullable result, NSError *_Nullable error) {// result 文件列表数据// error 报错信息}];// 发起请求[[QCloudSMHService defaultSMHService] listContents:req];
文档反馈