指定した日時まで公開
指定した日時まで公開する場合は publishBodyExpires(at:_:)
メソッドを使います。下記は、ファイルを 2099 年 12 月 31 日まで公開したい場合のサンプルです。サンプルのように、日時は NSDateComponents
を使って指定します。
Swift:
-
// Assume that the KiiObject "object" has been instantiated. // Set the expiration time of the URL. var components = DateComponents() components.year = 2099 components.month = 12 components.day = 31 components.hour = 23 components.minute = 59 components.second = 59 (components as NSDateComponents).calendar = Calendar.current let date = (components as NSDateComponents).date! do{ // Publish the KiiObject. let url = try object!.publishBodySynchronousExpires(at: date) }catch(let error as NSError){ // Handle the error. return }
-
// Assume that the KiiObject "object" has been instantiated. // Set the expiration time of the URL. var components = DateComponents() components.year = 2099 components.month = 12 components.day = 31 components.hour = 23 components.minute = 59 components.second = 59 (components as NSDateComponents).calendar = Calendar.current let date = (components as NSDateComponents).date! // Publish the KiiObject. object!.publishBodyExpires(at: date) { (object : KiiObject , url : String?, error : Error?) -> Void in if error != nil { // Handle the error. return } }
Objective-C:
-
// Assume that the KiiObject "object" has been instantiated. // Set the expiration time of the URL. NSDateComponents *components = [[NSDateComponents alloc] init]; [components setYear:2099]; [components setMonth:12]; [components setDay:31]; [components setHour:23]; [components setMinute:59]; [components setSecond:59]; [components setCalendar:[NSCalendar currentCalendar]]; NSDate *date = [components date]; NSError *error = nil; // Publish the KiiObject. NSString *url = [object publishBodySynchronousExpiresAt:date andError:&error]; if (error != nil) { // Handle the error. return; }
-
// Assume that the KiiObject "object" has been instantiated. // Set the expiration time of the URL. NSDateComponents *components = [[NSDateComponents alloc] init]; [components setYear:2099]; [components setMonth:12]; [components setDay:31]; [components setHour:23]; [components setMinute:59]; [components setSecond:59]; [components setCalendar:[NSCalendar currentCalendar]]; NSDate *date = [components date]; // Publish the KiiObject. [object publishBodyExpiresAt:date withBlock:^(KiiObject *obj, NSString *url, NSError *error) { if (error != nil) { // Handle the error. return; } }];
基本的な手順は下記のとおりです。
- Object Body をアップロードします。
publishBodyExpires(at:_:)
メソッドを呼びファイルを公開します。
なお、ファイルを公開するユーザーはこの KiiObject に対する KiiACLObjectActionRead
アクションを許可されている必要があります(公開後の URL は、誰でも Web ブラウザから参照できます)。アクセス権限の詳細は KiiObject の ACL 設定 を参照してください。