オーナーの管理
オーナーの確認
Thing オーナーの確認は isOwner
メソッドで行います。
以下の例では、現在ログイン中のユーザーがオーナーか確認をしています。
Android
-
try { // Instantiate a thing by vendor thing ID. KiiThing thing = KiiThing.loadWithVendorThingID("rBnvSPOXBDF9r29GJeGS"); // Check if the current user is an owner of the thing. if (thing.isOwner(KiiUser.getCurrentUser())) { // The current user is an owner of the thing. } } catch (AppException e) { // Handle the error. } catch (IOException e) { // Handle the error. }
-
// Instantiate a thing by vendor thing ID. KiiThing.loadWithVendorThingID("rBnvSPOXBDF9r29GJeGS", new KiiCallback<KiiThing>() { @Override public void onComplete(KiiThing result, Exception e) { if (e != null) { // Handle the error. return; } // Check if the current user is an owner of the thing. result.isOwner(KiiUser.getCurrentUser(), new KiiCallback<Boolean>() { @Override public void onComplete(Boolean isOwner, Exception e) { if (e != null) { // Handle the error. return; } if (isOwner) { // The current user is an owner of the thing. } } }); } });
iOS
Swift:
-
// Instantiate a thing by vendor thing ID. guard let thing = try? KiiThing.loadSynchronous(withVendorThingID: "rBnvSPOXBDF9r29GJeGS") else{ // Handle the error. return } do{ // Check if the current user is an owner of the thing. try thing.checkIsOwnerSynchronous(KiiUser.current()!) // The current user is an owner of the thing. }catch(let error as NSError){ if error.kiiHttpStatus() == 404 { // The current user is not an owner of the thing. }else{ // Handle the error. return } }
-
// Instantiate a thing by vendor thing ID. KiiThing.load(withVendorThingID: "rBnvSPOXBDF9r29GJeGS") { (thing , error) -> Void in if error != nil { // Handle the error. return } // Check if the current user is an owner of the thing. thing!.checkIsOwner(KiiUser.current()!, block: { (thing : KiiThing, owner : KiiThingOwner, isOwner : Bool, error) -> Void in if error != nil { // Handle the error. return } if isOwner { // The current user is an owner of the thing. } }) }
Objective-C:
-
NSError* error = nil; // Instantiate a thing by vendor thing ID. KiiThing* thing = [KiiThing loadSynchronousWithVendorThingID:@"rBnvSPOXBDF9r29GJeGS" error:&error]; if (error != nil) { // Handle the error. return; } // Check if the current user is an owner of the thing. BOOL isOwner = [thing checkIsOwnerSynchronous:[KiiUser currentUser] error:&error]; if (error != nil) { if(error.kiiHttpStatus == 404){ // The current user is not an owner of the thing. }else{ // Handle the error. return; } } if (isOwner) { // The current user is an owner of the thing. }
-
// Instantiate a thing by vendor thing ID. [KiiThing loadWithVendorThingID:@"rBnvSPOXBDF9r29GJeGS" block:^(KiiThing *thing, NSError *error) { if (error != nil) { // Handle the error. return; } // Check if the current user is an owner of the thing. [thing checkIsOwner:[KiiUser currentUser] block:^(KiiThing *thing, id<KiiThingOwner> thingOwner, BOOL isOwner, NSError *error) { if (error != nil) { if(error.kiiHttpStatus == 404){ // The current user is not an owner of the thing. }else{ // Handle the error. return; } } if (isOwner) { // The current user is an owner of the thing. } }]; }];
JavaScript
// Instantiate a thing by vendor thing ID.
KiiThing.loadWithVendorThingID("rBnvSPOXBDF9r29GJeGS", {
success: function(thing) {
// Check if the current user is an owner of the thing.
thing.isOwner(KiiUser.getCurrentUser(), {
success: function(theThing, isOwner) {
if(isOwner) {
// The current user is an owner of the thing.
}else {
// The current user is not an owner of the thing.
}
},
failure: function(theThing, error) {
// Handle the error.
}
});
},
failure: function(error) {
// Handle the error.
}
});
また、次のようにログイン中のユーザーがメンバーになっているグループが Thing のオーナーか確認することもできます。
Android
-
try { // Instantiate a thing by vendor thing ID. KiiThing thing = KiiThing.loadWithVendorThingID("rBnvSPOXBDF9r29GJeGS"); // Get a list of groups that the current user is a member of. List<KiiGroup> groups = KiiUser.getCurrentUser().memberOfGroups(); for (KiiGroup group : groups) { // Check if the group is an owner of the thing. if (thing.isOwner(group)) { // The group is an owner of the thing. } } } catch (AppException e) { // Handle the error. } catch (IOException e) { // Handle the error. }
-
// Instantiate a thing by vendor thing ID. KiiThing.loadWithVendorThingID("rBnvSPOXBDF9r29GJeGS", new KiiCallback<KiiThing>() { @Override public void onComplete(final KiiThing result, Exception e) { if (e != null) { // Handle the error. return; } // Get a list of groups that the current user is a member of. KiiUser.getCurrentUser().memberOfGroups(new KiiUserCallBack() { @Override public void onMemberOfGroupsCompleted(int token, KiiUser user, List<KiiGroup> groupList, Exception exception) { if (exception != null) { // Handle the error. return; } for (KiiGroup group : groupList) { // Check if the group is an owner of the thing. result.isOwner(group, new KiiCallback<Boolean>() { @Override public void onComplete(Boolean isOwner, Exception e) { if (e != null) { // Handle the error. return; } if (isOwner) { // The group is an owner of the thing. } } }); } } }); } });
iOS
Swift:
-
// Instantiate a thing by vendor thing ID. guard let thing = try? KiiThing.loadSynchronous(withThingID: "rBnvSPOXBDF9r29GJeGS") else{ // Handle the error. return } // Get a list of groups that the current user is a member of. guard let results = try? KiiUser.current()!.memberOfGroupsSynchronous() else{ // Handle the error. return } do{ for group in results as! [KiiGroup]{ // Check if the group is an owner of the thing. try thing.checkIsOwnerSynchronous(group) } // The group is an owner of the thing. }catch(let error as NSError){ if error.kiiHttpStatus() == 404 { // The group is not an owner of the thing. }else{ // Handle the error. return } }
-
// Instantiate a thing by vendor thing ID. KiiThing.load(withVendorThingID: "rBnvSPOXBDF9r29GJeGS") { (thing , error) -> Void in if error != nil { // Handle the error. return } // Get a list of groups that the current user is a member of. KiiUser.current()!.memberOfGroups({ (user :KiiUser?, results : [Any]?, error : Error?) -> Void in if error != nil { // Handle the error. return } for group in results as! [KiiGroup]{ // Check if the group is an owner of the thing. thing!.checkIsOwner(group, block: { (thing : KiiThing, owner : KiiThingOwner, isOwner : Bool, error) -> Void in if error != nil { // Handle the error. return } if isOwner { // The group is an owner of the thing. } }) } }) }
Objective-C:
-
NSError* error = nil; // Instantiate a thing by vendor thing ID. KiiThing* thing = [KiiThing loadSynchronousWithVendorThingID:@"rBnvSPOXBDF9r29GJeGS" andError:&error]; // Get a list of groups that the current user is a member of. NSArray* groups = [[KiiUser currentUser] memberOfGroupsSynchronous:&error]; if (error != nil) { // Handle the error. return; } [groups enumerateObjectsUsingBlock:^(KiiGroup* group, NSUInteger idx, BOOL *stop) { NSError* localError= nil; // Check if the group is an owner of the thing. BOOL isOwner = [thing checkIsOwnerSynchronous:group error:&localError]; if (localError != nil) { if(error.kiiHttpStatus == 404){ // The group is not an owner of the thing. }else{ // Handle the error. return; } } if (isOwner) { // The group is an owner of the thing. } }];
-
// Instantiate a thing by vendor thing ID. [KiiThing loadWithVendorThingID:@"rBnvSPOXBDF9r29GJeGS" block:^(KiiThing *thing, NSError *error) { if (error != nil) { // Handle the error. return; } // Get a list of groups that the current user is a member of. [[KiiUser currentUser] memberOfGroupsWithBlock:^(KiiUser *user, NSArray *results, NSError *error) { if (error != nil) { // Handle the error. return; } [results enumerateObjectsUsingBlock:^(KiiGroup* group, NSUInteger idx, BOOL *stop) { // Check if the group is an owner of the thing. [thing checkIsOwner:group block:^(KiiThing *thing, id<KiiThingOwner> thingOwner, BOOL isOwner, NSError *error) { if (error != nil) { if(error.kiiHttpStatus == 404){ // The group is not an owner of the thing. }else{ // Handle the error. return; } } if (isOwner) { // The group is an owner of the thing. } }]; }]; }]; }];
JavaScript
var user = KiiUser.getCurrentUser();
// Instantiate a thing by vendor thing ID.
KiiThing.loadWithVendorThingID("rBnvSPOXBDF9r29GJeGS", {
success: function(thing) {
// Get a list of groups that the current user is a member of.
user.memberOfGroups({
success: function(theUser, groupList) {
for(var i = 0; i < groupList.length; i++) {
var group = groupList[i];
// Check if the group is an owner of the thing.
thing.isOwner(group, {
success: function(theThing, isOwner) {
if(isOwner) {
// The group is an owner of the thing.
}else {
// The group is not an owner of the thing.
}
},
failure: function(theThing, error) {
// Handle the error.
}
});
}
},
failure: function(theUser, error) {
// Handle the error.
}
});
},
failure: function(error) {
// Handle the error.
}
});
オーナーの設定
Thing オーナーの追加は registerOwner
メソッドで行います。なお、追加の際には Thing のパスワードが必要です。
以下の例では、現在ログイン中のユーザーを Thing オーナーに追加しています。
Android
-
try { // Instantiate a thing by thing ID. KiiThing thing = KiiThing.thingWithID("th.1234-5678-abcd-efgh"); // Register the current user as an owner of the thing. thing.registerOwner(KiiUser.getCurrentUser(), "ThingPassword"); } catch (AppException e) { // Handle the error. } catch (IOException e) { // Handle the error. }
-
// Instantiate a thing by thing ID. KiiThing thing = KiiThing.thingWithID("th.1234-5678-abcd-efgh"); // Register the current user as an owner of the thing. thing.registerOwner(KiiUser.getCurrentUser(), "ThingPassword", new KiiCallback<KiiThingOwner>() { @Override public void onComplete(KiiThingOwner result, Exception e) { if (e != null) { // Handle the error. return; } } });
iOS
Swift:
-
// Instantiate a thing by thing ID. let thing = KiiThing(id: "th.1234-5678-abcd-efgh") do{ // Register the current user as an owner of the thing. try thing.registerOwnerSynchronous(KiiUser.current()!, thingPassword:"thingPassword") } catch let error as NSError { // Handle the error. return }
-
// Instantiate a thing by thing ID. let thing = KiiThing(id: "th.1234-5678-abcd-efgh") // Register the current user as an owner of the thing. thing.register(KiiUser.current()!, thingPassword:"thingPassword", block: { (thing , error) -> Void in if error != nil { // Handle the error. return } })
Objective-C:
-
// Instantiate a thing by thing ID. // Add an exception handling step if a thing ID is passed with an NSString variable. KiiThing* thing = [KiiThing thingWithID:@"th.1234-5678-abcd-efgh"]; NSError* error = nil; // Register the current user as an owner of the thing. [thing registerOwnerSynchronous:[KiiUser currentUser] thingPassword:@"thingPassword" error:&error]; if (error != nil) { // Handle the error. return; }
-
// Instantiate a thing by thing ID. // Add an exception handling step if a thing ID is passed with an NSString variable.e KiiThing* thing = [KiiThing thingWithID:@"th.1234-5678-abcd-efgh"]; // Register the current user as an owner of the thing. [thing registerOwner:[KiiUser currentUser] thingPassword:@"thingPassword" block:^(KiiThing *thing, NSError *error) { if (error != nil) { // Handle the error. return; } }];
JavaScript
// Instantiate a thing by thing ID.
var thing = KiiThing.thingWithID("th.1234-5678-abcd-efgh");
// Register the current user as an owner of the thing.
thing.registerOwnerWithPassword(KiiUser.getCurrentUser(), "ThingPassword", {
success: function(theThing) {
// Do something.
},
failure: function(theThing, error) {
// Handle the error.
}
});
vendorThingID を指定してオーナーを追加することもできます。
Android
-
try { // Register the current user as an owner of the thing. KiiThing.registerOwnerWithVenderThingID("rBnvSPOXBDF9r29GJeGS", KiiUser.getCurrentUser(), "ThingPassword"); // Load the thing from Kii Cloud. KiiThing thing = KiiThing.loadWithVendorThingID("rBnvSPOXBDF9r29GJeGS"); } catch (AppException e) { // Handle the error. } catch (IOException e) { // Handle the error. }
-
// Register the current user as an owner of the thing. KiiThing.registerOwnerWithVenderThingID("rBnvSPOXBDF9r29GJeGS", KiiUser.getCurrentUser(), "ThingPassword", new KiiCallback<KiiThingOwner>() { @Override public void onComplete(KiiThingOwner result, Exception e) { if (e != null) { // Handle the error. return; } // Load the thing from Kii Cloud. KiiThing.loadWithVendorThingID("rBnvSPOXBDF9r29GJeGS", new KiiCallback<KiiThing>() { @Override public void onComplete(KiiThing result, Exception e) { if (e != null) { // Handle the error. return; } }); } });
iOS
Swift:
-
let thing : KiiThing do{ // Register the current user as an owner of the thing. try KiiThing.registerOwnerSynchronous(KiiUser.current()!, vendorThingID: "rBnvSPOXBDF9r29GJeGS", thingPassword:"thingPassword") // Load the thing from Kii Cloud. thing = try KiiThing.loadSynchronous(withVendorThingID: "rBnvSPOXBDF9r29GJeGS") }catch(let error as NSError){ // Handle the error. return }
-
let vendorThingID = "rBnvSPOXBDF9r29GJeGS" // Register the current user as an owner of the thing. KiiThing.register(KiiUser.current()!, vendorThingID: vendorThingID, thingPassword:"thingPassword") { (owner : KiiThingOwner, error : Error?) -> Void in if error != nil { // Handle the error. return } // Load the thing from Kii Cloud. KiiThing.load(withVendorThingID: vendorThingID, block: { (thing , error) -> Void in if error != nil { // Handle the error. return } }) }
Objective-C:
-
NSError* error = nil; // Register the current user as an owner of the thing. [KiiThing registerOwnerSynchronous:[KiiUser currentUser] vendorThingID:@"rBnvSPOXBDF9r29GJeGS" thingPassword:@"thingPassword" error:&error]; if (error != nil) { // Handle the error. return; } // Load the thing from Kii Cloud. KiiThing* thing = [KiiThing loadSynchronousWithVendorThingID:@"rBnvSPOXBDF9r29GJeGS" error:&error]; if (error != nil) { // Handle the error. return; }
-
// Register the current user as an owner of the thing. [KiiThing registerOwner:[KiiUser currentUser] vendorThingID:@"rBnvSPOXBDF9r29GJeGS" thingPassword:@"thingPassword" block:^(id<KiiThingOwner> owner, NSError* error) { if (error != nil) { // Handle the error. return; } // Load the thing from Kii Cloud. [KiiThing loadWithVendorThingID:@"rBnvSPOXBDF9r29GJeGS" block:^(KiiThing* thing, NSError* error) { if (error != nil) { // Handle the error. return; } } } ];
JavaScript
// Register the current user as an owner of the thing.
KiiThing.registerOwnerWithVendorThingIDAndPassowrd("rBnvSPOXBDF9r29GJeGS", KiiUser.getCurrentUser(), "ThingPassword", {
success: function(theOwner) {
// Load the thing from Kii Cloud.
KiiThing.loadWithVendorThingID("rBnvSPOXBDF9r29GJeGS", {
success: function(theThing) {
// Do something.
},
failure: function(error) {
// Handle the error.
}
});
},
failure: function(error) {
// Handle the error.
}
});
また、次のようにログイン中のユーザーがメンバーになっているグループを Thing オーナーに追加することもできます。
Android
-
try { // Instantiate a thing by vendor thing ID. KiiThing thing = KiiThing.loadWithVendorThingID("rBnvSPOXBDF9r29GJeGS"); // Create a group and add the current user to it. KiiGroup group = KiiGroup.createWithName("ThingUsers"); group.addUser(KiiUser.getCurrentUser()); // Save the group. group.save(); // Register the group as an owner of the thing. thing.registerOwner(group, "ThingPassword"); } catch (GroupOperationException e) { // Handle the error. } catch (AppException e) { // Handle the error. } catch (IOException e) { // Handle the error. }
-
// Instantiate a thing by vendor thing ID. KiiThing.loadWithVendorThingID("rBnvSPOXBDF9r29GJeGS", new KiiCallback<KiiThing>() { @Override public void onComplete(final KiiThing result, Exception e) { if (e != null) { // Handle the error. return; } // Create a group and add the current user to it. KiiGroup group = KiiGroup.createWithName("ThingUsers"); group.addUser(KiiUser.getCurrentUser()); // Save the group. group.save(new KiiGroupCallBack() { @Override public void onSaveCompleted(int token, KiiGroup group, Exception e) { if (e != null) { // Handle the error. return; } // Register the group as an owner of the thing. result.registerOwner(KiiUser.getCurrentUser(), "ThingPassword", new KiiCallback<KiiThingOwner>() { @Override public void onComplete(KiiThingOwner result, Exception e) { if (e != null) { // Handle the error. return; } } }); } }); } });
iOS
Swift:
-
let thing : KiiThing do{ // Instantiate a thing by vendor thing ID. thing = try KiiThing.loadSynchronous(withVendorThingID: "rBnvSPOXBDF9r29GJeGS") }catch(let error as NSError){ // Handle the error. return } // Create a group and add the current user to it. let group = KiiGroup(name: "owners", andMembers: [KiiUser.current()!]) do{ // Save the group. try group.saveSynchronous() // Register the group as an owner of the thing. try thing.registerOwnerSynchronous(group, thingPassword:"thingPassword") } catch let error as NSError { // Handle the error. return }
-
let vendorThingID = "rBnvSPOXBDF9r29GJeGS" // Instantiate a thing by vendor thing ID. KiiThing.load(withVendorThingID: vendorThingID, block: { (thing , error) -> Void in if error != nil { // Handle the error. return } // Create a group and add the current user to it. let group = KiiGroup(name: "owners", andMembers: [KiiUser.current()!]) // Save the group. group.save({ (group : KiiGroup?, error : Error?) -> Void in if error != nil { // Handle the error. return } // Register the group as an owner of the thing. thing!.register(group!, thingPassword:"thingPassword", block: { (thing , error) -> Void in if error != nil { // Handle the error. return } }) }) })
Objective-C:
-
NSError* error = nil; // Instantiate a thing by vendor thing ID. KiiThing* thing = [KiiThing loadSynchronousWithVendorThingID:@"rBnvSPOXBDF9r29GJeGS" error:&error]; if (error != nil) { // Handle the error. return; } // Create a group and add the current user to it. KiiGroup* group= [Kii groupWithName:@"owners" andMembers:@[[KiiUser currentUser]]]; // Save the group. [group saveSynchronous:&error]; if (error != nil) { // Handle the error. return; } // Register the group as an owner of the thing. [thing registerOwnerSynchronous:group thingPassword:@"thingPassword" error:&error]; if (error != nil) { // Handle the error. return; }
-
// Instantiate a thing by vendor thing ID. [KiiThing loadWithVendorThingID:@"rBnvSPOXBDF9r29GJeGS" block:^(KiiThing *thing, NSError *error) { if (error != nil) { // Handle the error. return; } // Create a group and add the current user to it. KiiGroup* group= [Kii groupWithName:@"owners" andMembers:@[[KiiUser currentUser]]]; // Save the group. [group saveWithBlock:^(KiiGroup *group, NSError *error) { if (error != nil) { // Handle the error. return; } // Register the group as an owner of the thing. [thing registerOwner:group thingPassword:@"thingPassword" block:^(KiiThing *thing, NSError *error) { if (error != nil) { // Handle the error. return; } }]; }]; }];
JavaScript
// Instantiate a thing by vendor thing ID.
KiiThing.loadWithVendorThingID("rBnvSPOXBDF9r29GJeGS", {
success: function(thing) {
// Create a group and add the current user to it.
var group = KiiGroup.groupWithName("myGroup");
group.addUser(KiiUser.getCurrentUser());
// Save the group.
group.save({
success: function(theGroup) {
// Register the group as an owner of the thing.
thing.registerOwnerWithPassword(group, "ThingPassword", {
success: function(theThing) {
// Do something.
},
failure: function(theThing, error) {
// Handle the error.
}
});
},
failure: function(theGroup, error) {
// Handle the error.
}
});
},
failure: function(error) {
// Handle the error.
}
});
オーナーの設定解除
Thing オーナーの削除は unregisterOwner
メソッドで行います。
以下の例では、現在ログイン中のユーザーを Thing オーナーから削除しています。
Android
-
try { // Instantiate a thing by vendor thing ID. KiiThing thing = KiiThing.loadWithVendorThingID("rBnvSPOXBDF9r29GJeGS"); // Revoke the current user's ownership of the thing. thing.unregisterOwner(KiiUser.getCurrentUser()); } catch (AppException e) { // Handle the error. } catch (IOException e) { // Handle the error. }
-
// Instantiate a thing by vendor thing ID. KiiThing.loadWithVendorThingID("rBnvSPOXBDF9r29GJeGS", new KiiCallback<KiiThing>() { @Override public void onComplete(KiiThing result, Exception e) { if (e != null) { // Handle the error. return; } // Revoke the current user's ownership of the thing. result.unregisterOwner(KiiUser.getCurrentUser(), new KiiCallback<KiiThingOwner>() { @Override public void onComplete(KiiThingOwner result, Exception e) { if (e != null) { // Handle the error. return; } } }); } });
iOS
Swift:
-
let thing : KiiThing do{ // Instantiate a thing by vendor thing ID. thing = try KiiThing.loadSynchronous(withVendorThingID: "rBnvSPOXBDF9r29GJeGS") // Revoke the current user's ownership of the thing. try thing.unregisterOwnerSynchronous(KiiUser.current()!) }catch(let error as NSError){ // Handle the error. return }
-
// Instantiate a thing by vendor thing ID. KiiThing.load(withVendorThingID: "rBnvSPOXBDF9r29GJeGS", block: { (thing , error) -> Void in if error != nil { // Handle the error. return } // Revoke the current user's ownership of the thing. thing!.unregisterOwner(KiiUser.current()!, block: { (thing , error) -> Void in if error != nil { // Handle the error. return } }) })
Objective-C:
-
NSError* error = nil; // Instantiate a thing by vendor thing ID. KiiThing* thing = [KiiThing loadSynchronousWithVendorThingID:@"rBnvSPOXBDF9r29GJeGS" error:&error]; if (error != nil) { // Handle the error. return; } // Revoke the current user's ownership of the thing. [thing unregisterOwnerSynchronous:[KiiUser currentUser] error:&error]; if (error != nil) { // Handle the error. return; }
-
// Instantiate a thing by vendor thing ID. [KiiThing loadWithVendorThingID:@"rBnvSPOXBDF9r29GJeGS" block:^(KiiThing *thing, NSError *error) { if (error != nil) { // Handle the error. return; } // Revoke the current user's ownership of the thing. [thing unregisterOwner:[KiiUser currentUser] block:^(KiiThing *thing, NSError *error) { if (error != nil) { // Handle the error. return; } }]; }];
JavaScript
// Instantiate a thing by vendor thing ID.
KiiThing.loadWithVendorThingID("rBnvSPOXBDF9r29GJeGS", {
success: function(thing) {
// Revoke the current user's ownership of the thing.
thing.unregisterOwner(KiiUser.getCurrentUser(), {
success: function(theThing) {
// Do something.
},
failure: function(theThing, error) {
// Handle the error.
}
});
},
failure: function(error) {
// Handle the error.
}
});
また、次のようにログイン中のユーザーがメンバーになっているグループを Thing オーナーから削除することもできます。
Android
-
// Instantiate a group. Uri uri = Uri.parse("Set the URI of an existing group here"); KiiGroup group = KiiGroup.createByUri(uri); try { // Instantiate a thing by vendor thing ID. KiiThing thing = KiiThing.loadWithVendorThingID("rBnvSPOXBDF9r29GJeGS"); // Revoke the group's ownership of the thing. thing.unregisterOwner(group); } catch (AppException e) { // Handle the error. } catch (IOException e) { // Handle the error. }
-
// Instantiate a group. Uri uri = Uri.parse("Set the URI of an existing group here"); final KiiGroup group = KiiGroup.createByUri(uri); // Instantiate a thing by vendor thing ID. KiiThing.loadWithVendorThingID("rBnvSPOXBDF9r29GJeGS", new KiiCallback<KiiThing>() { @Override public void onComplete(final KiiThing result, Exception e) { if (e != null) { // Handle the error. return; } // Revoke the group's ownership of the thing. result.unregisterOwner(group, new KiiCallback<KiiThingOwner>() { @Override public void onComplete(KiiThingOwner result, Exception e) { if (e != null) { // Handle the error. return; } } }); } });
iOS
Swift:
-
let thing : KiiThing do{ // Instantiate a thing by vendor thing ID. thing = try KiiThing.loadSynchronous(withVendorThingID: "rBnvSPOXBDF9r29GJeGS") }catch(let error as NSError){ // Handle the error. return } // Instantiate a group. let group = KiiGroup(uri: "Set the URI of an existing group here") do{ // Revoke the group's ownership of the thing. try thing.unregisterOwnerSynchronous(group) } catch let error as NSError { // Handle the error. return }
-
let vendorThingID = "rBnvSPOXBDF9r29GJeGS" // Instantiate a thing by vendor thing ID. KiiThing.load(withVendorThingID: vendorThingID, block: { (thing , error) -> Void in if error != nil { // Handle the error. return } // Instantiate a group. let group = KiiGroup(uri: "Set the URI of an existing group here") // Revoke the group's ownership of the thing. thing!.unregisterOwner(group!, block: { (thing , error) -> Void in if error != nil { // Handle the error. return } }) })
Objective-C:
-
NSError* error = nil; // Instantiate a thing by vendor thing ID. KiiThing* thing = [KiiThing loadSynchronousWithVendorThingID:@"rBnvSPOXBDF9r29GJeGS" error:&error]; if (error != nil) { // Handle the error. return; } // Instantiate a group. KiiGroup* group= [KiiGroup groupWithURI:@"Set the URI of an existing group here"]; // Revoke the group's ownership of the thing. [thing unregisterOwnerSynchronous:group error:&error]; if (error != nil) { // Handle the error. return; }
-
// Instantiate a thing by vendor thing ID. [KiiThing loadWithVendorThingID:@"rBnvSPOXBDF9r29GJeGS" block:^(KiiThing *thing, NSError *error) { if (error != nil) { // Handle the error. return; } // Instantiate a group. KiiGroup* group= [KiiGroup groupWithURI:@"Set the URI of an existing group here"]; // Revoke the group's ownership of the thing. [thing unregisterOwner:group block:^(KiiThing *thing, NSError *error) { if (error != nil) { // Handle the error. return; } }]; }];
JavaScript
// Instantiate a thing by vendor thing ID.
KiiThing.loadWithVendorThingID("rBnvSPOXBDF9r29GJeGS", {
success: function(thing) {
// Instantiate a group.
var group = KiiGroup.groupWithURI("Set the URI of an existing group here");
// Revoke the group's ownership of the thing.
thing.unregisterOwner(group, {
success: function(theThing) {
// Do something.
},
failure: function(theThing, error) {
// Handle the error.
}
});
},
failure: function(error) {
// Handle the error.
}
});