diff --git a/docs/channels.md b/docs/channels.md
index c1be396..20f375a 100644
--- a/docs/channels.md
+++ b/docs/channels.md
@@ -11,14 +11,14 @@
---
-
+
## class `Channels`
-
+
### method `__init__`
@@ -35,7 +35,7 @@ __init__(url: str)
---
-
+
### method `create`
@@ -47,7 +47,7 @@ Creates channel entity in the database
---
-
+
### method `create_bulk`
@@ -59,7 +59,7 @@ Creates multiple channels in a bulk
---
-
+
### method `disable`
@@ -71,7 +71,7 @@ Deletes a channel entity from database
---
-
+
### method `get`
@@ -83,7 +83,7 @@ Gets a channel entity for a logged-in user
---
-
+
### method `get_all`
@@ -95,7 +95,7 @@ Gets all channels from database
---
-
+
### method `get_by_thing`
@@ -107,7 +107,7 @@ Gets all channels to which a specific thing is connected to
---
-
+
### method `identify_thing`
@@ -119,7 +119,7 @@ Validates thing's key and returns it's ID if key is valid
---
-
+
### method `update`
diff --git a/docs/groups.md b/docs/groups.md
index fc739fb..571a54c 100644
--- a/docs/groups.md
+++ b/docs/groups.md
@@ -35,7 +35,7 @@ __init__(url: str)
---
-
+
### method `assign`
@@ -71,7 +71,7 @@ Creates group entity in the database
---
-
+
### method `disable`
@@ -107,7 +107,7 @@ Gets all groups from database
---
-
+
### method `members`
@@ -119,7 +119,7 @@ Get list of members ID's from group
---
-
+
### method `memberships`
@@ -143,7 +143,7 @@ Gets parents for a specific group from database
---
-
+
### method `share_groups`
@@ -155,7 +155,7 @@ Adds access rights on thing groups to the user group
---
-
+
### method `unassign`
diff --git a/docs/things.md b/docs/things.md
index 8605b50..32d329d 100644
--- a/docs/things.md
+++ b/docs/things.md
@@ -35,7 +35,19 @@ __init__(url: str)
---
-
+
+
+### method `authorise_thing`
+
+```python
+authorise_thing(access_request: dict, token: str)
+```
+
+Authorises thing
+
+---
+
+
### method `connect`
@@ -47,7 +59,7 @@ Connects thing and channel
---
-
+
### method `connects`
@@ -83,7 +95,7 @@ Creates multiple things in a bulk
---
-
+
### method `disable`
@@ -95,7 +107,7 @@ Deletes a thing entity from database
---
-
+
### method `disconnect`
@@ -107,7 +119,7 @@ Disconnect thing and channel
---
-
+
### method `disconnects`
@@ -155,6 +167,18 @@ Gets all things to which a specific thing is connected to
---
+
+
+### method `share_thing`
+
+```python
+share_thing(user_id: str, channel_id: str, actions: dict, token: str)
+```
+
+Share thing
+
+---
+
### method `update`
@@ -165,6 +189,42 @@ update(thing_id: str, thing: dict, token: str)
Updates thing entity
+---
+
+
+
+### method `update_thing_owner`
+
+```python
+update_thing_owner(thing_id: str, thing: dict, token: str)
+```
+
+Updates thing secret
+
+---
+
+
+
+### method `update_thing_secret`
+
+```python
+update_thing_secret(thing_id: str, thing: dict, token: str)
+```
+
+Updates thing secret
+
+---
+
+
+
+### method `update_thing_tags`
+
+```python
+update_thing_tags(thing_id: str, thing: dict, token: str)
+```
+
+Updates thing secret
+
diff --git a/docs/users.md b/docs/users.md
index ff5d96f..867b3dc 100644
--- a/docs/users.md
+++ b/docs/users.md
@@ -33,6 +33,18 @@ __init__(url: str)
+---
+
+
+
+### method `authorise_user`
+
+```python
+authorise_user(access_request: dict, token: str)
+```
+
+Authorises user
+
---
@@ -47,7 +59,7 @@ Registers new user account given email and password. New account will be uniquel
---
-
+
### method `disable`
@@ -59,7 +71,7 @@ Disables an enabled user account for a given user ID.
---
-
+
### method `enable`
@@ -71,7 +83,7 @@ Enables a disabled user account for a given user ID.
---
-
+
### method `get`
@@ -83,7 +95,7 @@ Gets a user information
---
-
+
### method `get_all`
@@ -107,7 +119,43 @@ Generates an access token when provided with proper credentials.
---
-
+
+
+### method `refresh_token`
+
+```python
+refresh_token(user: dict, token: str)
+```
+
+Refreshes Access and Refresh Token used for authenticating into the system.
+
+---
+
+
+
+### method `reset_password`
+
+```python
+reset_password(password: str, confirm_password: str, token: str)
+```
+
+Changes user password with the reset_request token
+
+---
+
+
+
+### method `reset_password_request`
+
+```python
+reset_password_request(email: str, url: str)
+```
+
+User Password reset request
+
+---
+
+
### method `update`
@@ -119,7 +167,7 @@ Updates info on currently logged in user. Info is updated using authorization us
---
-
+
### method `update_password`
@@ -129,6 +177,42 @@ update_password(old_secret: str, new_secret: str, user_token: str)
Changes user password
+---
+
+
+
+### method `update_user_identity`
+
+```python
+update_user_identity(user: dict, user_token: str)
+```
+
+Updates Identity of the user
+
+---
+
+
+
+### method `update_user_owner`
+
+```python
+update_user_owner(user: dict, user_token: str)
+```
+
+Updating user tags in the database
+
+---
+
+
+
+### method `update_user_tags`
+
+```python
+update_user_tags(user: dict, user_token: str)
+```
+
+Updating user tags in the database
+
diff --git a/examples/examples.py b/examples/examples.py
index 036f3ca..c2becbf 100644
--- a/examples/examples.py
+++ b/examples/examples.py
@@ -7,15 +7,15 @@
things_url=default_url + ":9000",
reader_url=default_url + ":9204",
http_adapter_url=default_url,
- certs_url=default_url + ":8204",
- bootstrap_url=default_url + ":8202",
+ certs_url=default_url + ":9019",
+ bootstrap_url=default_url + ":9013",
auth_url=default_url,
)
-'''
+
"""To start working with the Mainflux system,
you need to create a user account"""
mf_resp = mfsdk.users.create(
- user={"credentials": {"identity": "example25@example.com", "secret": "12345678"}},
+ user={"credentials": {"identity": "", "secret": ""}},
token="",
)
if mf_resp.error.status == 0:
@@ -25,81 +25,173 @@
"""To log in to the Mainflux system, you need to create a user token"""
mf_resp = mfsdk.users.login(
- user={ "identity" : "example20@example.com", "secret": "12345678"}
+ user={ "identity" : "", "secret": ""}
)
if mf_resp.error.status == 0:
print(mf_resp.value)
else:
print(mf_resp.error.message)
-'''
-'''
+
+"""Refreshes Access and Refresh Token used for authenticating into the system."""
+user= {
+ "credentials": {
+ "identity": "",
+ "secret": ""
+ },
+ "id": "",
+ "name": ""
+}
+mf_resp = mfsdk.users.refresh_token(
+ user= user,
+ token=""
+)
+if mf_resp.error.status == 0:
+ print(mf_resp.value)
+else:
+ print(mf_resp.error.message)
+
"""You can always check the user entity that is logged in
by entering the user ID and token"""
-mf_resp = mfsdk.users.get(user_id="0f047968-b170-4dd4-85f5-6e03e1b3798e", token="eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2OTE3NTIxOTcsImlhdCI6MTY5MTc1MTI5NywiaWRlbnRpdHkiOiJleGFtcGxlMTJAZXhhbXBsZS5jb20iLCJpc3MiOiJjbGllbnRzLmF1dGgiLCJzdWIiOiIwZjA0Nzk2OC1iMTcwLTRkZDQtODVmNS02ZTAzZTFiMzc5OGUiLCJ0eXBlIjoiYWNjZXNzIn0.REa8wv-veZm2fpAeLe3jO9SMYMnyPrcT07YTmx4M_lOE3wYYal26HYp8RHd6z3Igy7ccadSKiqaygyvrpkMLzw")
+mf_resp = mfsdk.users.get(user_id="", token="")
if mf_resp.error.status == 0:
print(mf_resp.value)
else:
print(mf_resp.error.message)
-'''
-'''
-"""Updating user entities in the database"""
+
+"""Updates user entities in the database"""
user = {
- "id": "",
- "name": "",
+ "id": "",
+ "name": "",
"metadata": {
"foo": "bar"
}
}
-mf_resp = mfsdk.users.update(
- user_token="", user=user
-)
+mf_resp = mfsdk.users.update(user_token="", user=user)
+if mf_resp.error.status == 0:
+ print(mf_resp.value)
+else:
+ print(mf_resp.error.message)
+
+"""Updates user identity in the database"""
+user = {
+ "credentials": {
+ "identity": "",
+ },
+ "id": ""
+}
+mf_resp = mfsdk.users.update_user_identity(user_token="", user=user)
if mf_resp.error.status == 0:
print(mf_resp.value)
else:
print(mf_resp.error.message)
-'''
-'''
+
+"""Updates user tags in the database"""
+user = {
+ "id": "",
+ "name": "",
+ "tags": [
+ "yellow",
+ "orange"
+ ]
+}
+mf_resp = mfsdk.users.update_user_tags(user_token="", user=user)
+if mf_resp.error.status == 0:
+ print(mf_resp.value)
+else:
+ print(mf_resp.error.message)
+
+"""Updates user owner in the database"""
+user = {
+ "credentials": {
+ "identity": "",
+ "secret": ""
+ },
+ "id": "",
+ "owner": ""
+}
+mf_resp = mfsdk.users.update_user_owner(user_token="", user=user)
+if mf_resp.error.status == 0:
+ print(mf_resp.value)
+else:
+ print(mf_resp.error.message)
+
+"""User Password reset request"""
+mf_resp = mfsdk.users.reset_password_request(email= "", url= "")
+if mf_resp.error.status == 0:
+ print(mf_resp.value)
+else:
+ print(mf_resp.error.message)
+
+"""User Password reset with the reset_request token"""
+mf_resp = mfsdk.users.reset_password(password="", confirm_password="", token= "")
+if mf_resp.error.status == 0:
+ print(mf_resp.value)
+else:
+ print(mf_resp.error.message)
+
"""You can get all users in the database by calling the get_all () function"""
mf_resp = mfsdk.users.get_all(
query_params={"offset": 0, "limit": 5},
- admin_token="",
+ user_token=""
)
if mf_resp.error.status == 0:
print(mf_resp.value)
else:
print(mf_resp.error.message)
-'''
-'''
-mf_resp = mfsdk.users.disable(user_id="46c266a8-084d-4863-b013-9d27be7617e5", user_token="eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2OTE4MTIxMjQsImlhdCI6MTY5MTc1ODEyNCwiaWRlbnRpdHkiOiJleGFtcGxlMTVAZXhhbXBsZS5jb20iLCJpc3MiOiJjbGllbnRzLmF1dGgiLCJzdWIiOiJhZTE4ZjZiZS01OTJmLTQ1NjAtOGIxNy1jMmUxYmYyNzNhYWUiLCJ0eXBlIjoiYWNjZXNzIn0.SO3Z6-mNbYFEuJDlO1E477nQblg0UR6r0C7aR8jhRcTpDA62isovYjXhdoDdjPrRrDb7K1hHSHrxHhMFPiYz7w")
+
+"""Disables user"""
+mf_resp = mfsdk.users.disable(user_id="", user_token="")
if mf_resp.error.status == 0:
print(mf_resp.value)
else:
print(mf_resp.error.message)
-
-mf_resp = mfsdk.users.enable(user_id="46c266a8-084d-4863-b013-9d27be7617e5", user_token="eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2OTE4MTIxMjQsImlhdCI6MTY5MTc1ODEyNCwiaWRlbnRpdHkiOiJleGFtcGxlMTVAZXhhbXBsZS5jb20iLCJpc3MiOiJjbGllbnRzLmF1dGgiLCJzdWIiOiJhZTE4ZjZiZS01OTJmLTQ1NjAtOGIxNy1jMmUxYmYyNzNhYWUiLCJ0eXBlIjoiYWNjZXNzIn0.SO3Z6-mNbYFEuJDlO1E477nQblg0UR6r0C7aR8jhRcTpDA62isovYjXhdoDdjPrRrDb7K1hHSHrxHhMFPiYz7w")
+
+"""Enables user"""
+mf_resp = mfsdk.users.enable(user_id="", user_token="")
if mf_resp.error.status == 0:
print(mf_resp.value)
else:
print(mf_resp.error.message)
-"""Changing the user password can be done by calling
-the update password function"""
-'''
-"""
+"""Changing the user password can be done by calling the update password function"""
mf_resp = mfsdk.users.update_password(
- old_secret="", secret="",
- user_token=""
+ old_secret="", new_secret="",
+ user_token=""
)
+if mf_resp.error.status == 0:
+ print(mf_resp.value)
+else:
+ print(mf_resp.error.message)
+
+"""Authorising a User"""
+access_request = {
+ "subject": "",
+ "object": "",
+ "Action": "",
+ "Entity_type": ""
+}
+mf_resp = mfsdk.users.authorise_user(access_request=access_request, token="")
+if mf_resp.error.status == 0:
+ print(mf_resp.value)
+else:
+ print(mf_resp.error.message)
+"""Authorising a Thing"""
+access_request = {
+ "subject": "",
+ "object": "",
+ "Action": "",
+ "Entity_type": ""
+}
+mf_resp = mfsdk.things.authorise_thing(access_request=access_request, token="")
if mf_resp.error.status == 0:
print(mf_resp.value)
else:
print(mf_resp.error.message)
-"""
-'''
+
"""To create a thing, you need the thing name and a user token"""
mf_resp = mfsdk.things.create(
- thing={"name": "thing1"}, token="eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2OTIwNTUxNzIsImlhdCI6MTY5MjAwMTE3MiwiaWRlbnRpdHkiOiJleGFtcGxlMTlAZXhhbXBsZS5jb20iLCJpc3MiOiJjbGllbnRzLmF1dGgiLCJzdWIiOiI2OWFkNjk0Ny0xZGQ1LTRmNzItYTQ3NC1kMGZmNDE0MTUyYTEiLCJ0eXBlIjoiYWNjZXNzIn0.mlfRaQG69XmKUei9KW2287Kvk7_EiuAVeGbmq9aojA2FzzoicRxsTWkwEJGuhwWBHxQgBMe99j5rdb6EbJHkWQ")
+ thing={"name": ""}, token="")
if mf_resp.error.status == 0:
print(mf_resp.value)
else:
@@ -108,8 +200,8 @@
"""You can create multiple things at once
by entering a series of things structures and a user token"""
mf_resp = mfsdk.things.create_bulk(
- things=[{"name": "thing_8"}, {"name": "thing_9"}, {"name": "thing_10"}],
- token="eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2OTIxNDM0MTEsImlhdCI6MTY5MjA4OTQxMSwiaWRlbnRpdHkiOiJleGFtcGxlMjBAZXhhbXBsZS5jb20iLCJpc3MiOiJjbGllbnRzLmF1dGgiLCJzdWIiOiI4N2MxZTY5MC1kMDFhLTRhN2YtOGYyNy0xZjhhOWE2ZGIwMmUiLCJ0eXBlIjoiYWNjZXNzIn0.BgXBpOdkOP6s2QMLdzv4jHsl3rX16ZkA_r34BS4wL8UA_xr5gWxeyqaNL8x9tkNNRz4RML40Lo2lGtd2sMvVZQ",
+ things=[{"name": ""}, {"name": ""}, {"name": ""}],
+ token="",
)
if mf_resp.error.status == 0:
print(mf_resp.value)
@@ -117,7 +209,7 @@
print(mf_resp.error.message)
"""You can get thing information by entering the thing ID and user token"""
-mf_resp = mfsdk.things.get(token="eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2OTIwNTUxNzIsImlhdCI6MTY5MjAwMTE3MiwiaWRlbnRpdHkiOiJleGFtcGxlMTlAZXhhbXBsZS5jb20iLCJpc3MiOiJjbGllbnRzLmF1dGgiLCJzdWIiOiI2OWFkNjk0Ny0xZGQ1LTRmNzItYTQ3NC1kMGZmNDE0MTUyYTEiLCJ0eXBlIjoiYWNjZXNzIn0.mlfRaQG69XmKUei9KW2287Kvk7_EiuAVeGbmq9aojA2FzzoicRxsTWkwEJGuhwWBHxQgBMe99j5rdb6EbJHkWQ", thing_id="6d591627-8657-43af-bfaa-79047b5f8ec3")
+mf_resp = mfsdk.things.get(thing_id= "", token="")
if mf_resp.error.status == 0:
print(mf_resp.value)
else:
@@ -125,23 +217,62 @@
"""You can get all things in the database by calling the get_all () function"""
mf_resp = mfsdk.things.get_all(
- query_params={"offset": 0, "limit": 5}, token="eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2OTIwNTUxNzIsImlhdCI6MTY5MjAwMTE3MiwiaWRlbnRpdHkiOiJleGFtcGxlMTlAZXhhbXBsZS5jb20iLCJpc3MiOiJjbGllbnRzLmF1dGgiLCJzdWIiOiI2OWFkNjk0Ny0xZGQ1LTRmNzItYTQ3NC1kMGZmNDE0MTUyYTEiLCJ0eXBlIjoiYWNjZXNzIn0.mlfRaQG69XmKUei9KW2287Kvk7_EiuAVeGbmq9aojA2FzzoicRxsTWkwEJGuhwWBHxQgBMe99j5rdb6EbJHkWQ"
+ query_params={"offset": 0, "limit": 5}, token=""
)
if mf_resp.error.status == 0:
print(mf_resp.value)
else:
print(mf_resp.error.message)
-"""Updating a thing entity in a database"""
+"""Updates a thing entity in a database"""
mf_resp = mfsdk.things.update(
- thing_id="6d591627-8657-43af-bfaa-79047b5f8ec3", token="eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2OTIwNTUxNzIsImlhdCI6MTY5MjAwMTE3MiwiaWRlbnRpdHkiOiJleGFtcGxlMTlAZXhhbXBsZS5jb20iLCJpc3MiOiJjbGllbnRzLmF1dGgiLCJzdWIiOiI2OWFkNjk0Ny0xZGQ1LTRmNzItYTQ3NC1kMGZmNDE0MTUyYTEiLCJ0eXBlIjoiYWNjZXNzIn0.mlfRaQG69XmKUei9KW2287Kvk7_EiuAVeGbmq9aojA2FzzoicRxsTWkwEJGuhwWBHxQgBMe99j5rdb6EbJHkWQ", thing={"name": "thing_1"}
+ thing_id="", token="", thing={"name": ""}
)
if mf_resp.error.status == 0:
print(mf_resp.value)
else:
print(mf_resp.error.message)
-"You can get all thing connected to channel"
+"""Updates a thing secret in a database"""
+mf_resp = mfsdk.things.update_thing_secret(
+ thing_id="", token="", thing={"secret": ""}
+)
+if mf_resp.error.status == 0:
+ print(mf_resp.value)
+else:
+ print(mf_resp.error.message)
+
+"""Updates a thing's tags in a database"""
+thing= {
+ "id": "",
+ "name": "",
+ "tags": [
+ "dev","back"
+ ]
+ }
+mf_resp = mfsdk.things.update_thing_tags(
+ thing_id="", token="", thing=thing
+)
+if mf_resp.error.status == 0:
+ print(mf_resp.value)
+else:
+ print(mf_resp.error.message)
+
+"""Updates a thing's owner"""
+thing= {
+ "id": "",
+ "name": "",
+ "owner": "",
+}
+mf_resp = mfsdk.things.update_thing_owner(
+ thing_id="", token="", thing=thing
+)
+if mf_resp.error.status == 0:
+ print(mf_resp.value)
+else:
+ print(mf_resp.error.message)
+
+"""You can get all thing connected to channel"""
mf_resp = mfsdk.things.get_by_channel(
channel_id="",
query_params={"offset": 1, "limit": 5},
@@ -153,7 +284,7 @@
print(mf_resp.error.message)
"""To disable a thing you need a thing ID and a user token"""
-mf_resp = mfsdk.things.disable(thing_id="2ad76a79-640b-44c3-ab1c-3894d4013391", token="eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2OTIwNTUxNzIsImlhdCI6MTY5MjAwMTE3MiwiaWRlbnRpdHkiOiJleGFtcGxlMTlAZXhhbXBsZS5jb20iLCJpc3MiOiJjbGllbnRzLmF1dGgiLCJzdWIiOiI2OWFkNjk0Ny0xZGQ1LTRmNzItYTQ3NC1kMGZmNDE0MTUyYTEiLCJ0eXBlIjoiYWNjZXNzIn0.mlfRaQG69XmKUei9KW2287Kvk7_EiuAVeGbmq9aojA2FzzoicRxsTWkwEJGuhwWBHxQgBMe99j5rdb6EbJHkWQ")
+mf_resp = mfsdk.things.disable(thing_id="", token="")
if mf_resp.error.status == 0:
print(mf_resp.value)
else:
@@ -161,7 +292,7 @@
"""Connect thing to channel"""
mf_resp = mfsdk.things.connect(
- channel_id="6a4c094d-b192-4e7b-837f-6d2a2bae12d5", thing_id="769c8d58-bc7e-4003-8e5b-84301534ba7f", action="m_write", token="eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2OTIzMzI1ODUsImlhdCI6MTY5MjI3ODU4NSwiaWRlbnRpdHkiOiJleGFtcGxlMjBAZXhhbXBsZS5jb20iLCJpc3MiOiJjbGllbnRzLmF1dGgiLCJzdWIiOiI4N2MxZTY5MC1kMDFhLTRhN2YtOGYyNy0xZjhhOWE2ZGIwMmUiLCJ0eXBlIjoiYWNjZXNzIn0.hAJllwSCLDOqJseCKkTtw4qI9EyuBat6qaLGsvdsU-OGVS6-VkkK6boiDQ-_Men9CT6oUpzzTmW3e0dRF72j3g"
+ channel_id="", thing_id="", action="", token=""
)
if mf_resp.error.status == 0:
print(mf_resp.value)
@@ -170,7 +301,7 @@
"""Disconnect thing from channel"""
mf_resp = mfsdk.things.disconnect(
- channel_id="2b7ff10e-9294-47a9-a66b-e8f7de7c5a8b", thing_id="6d591627-8657-43af-bfaa-79047b5f8ec3", token="eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2OTIzMzI1ODUsImlhdCI6MTY5MjI3ODU4NSwiaWRlbnRpdHkiOiJleGFtcGxlMjBAZXhhbXBsZS5jb20iLCJpc3MiOiJjbGllbnRzLmF1dGgiLCJzdWIiOiI4N2MxZTY5MC1kMDFhLTRhN2YtOGYyNy0xZjhhOWE2ZGIwMmUiLCJ0eXBlIjoiYWNjZXNzIn0.hAJllwSCLDOqJseCKkTtw4qI9EyuBat6qaLGsvdsU-OGVS6-VkkK6boiDQ-_Men9CT6oUpzzTmW3e0dRF72j3g"
+ channel_id="", thing_id="", token=""
)
if mf_resp.error.status == 0:
print(mf_resp.value)
@@ -179,10 +310,10 @@
"""Connect things to channels"""
mf_resp = mfsdk.things.connects(
- thing_ids=["769c8d58-bc7e-4003-8e5b-84301534ba7f", "a937d27a-b0aa-4e4f-a85e-bb95bf0ac1bf"],
- channel_ids=["6a4c094d-b192-4e7b-837f-6d2a2bae12d5"],
- action="m_read",
- token="eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2OTIxNDM0MTEsImlhdCI6MTY5MjA4OTQxMSwiaWRlbnRpdHkiOiJleGFtcGxlMjBAZXhhbXBsZS5jb20iLCJpc3MiOiJjbGllbnRzLmF1dGgiLCJzdWIiOiI4N2MxZTY5MC1kMDFhLTRhN2YtOGYyNy0xZjhhOWE2ZGIwMmUiLCJ0eXBlIjoiYWNjZXNzIn0.BgXBpOdkOP6s2QMLdzv4jHsl3rX16ZkA_r34BS4wL8UA_xr5gWxeyqaNL8x9tkNNRz4RML40Lo2lGtd2sMvVZQ",
+ thing_ids=["", ""],
+ channel_ids=[""],
+ action="",
+ token="",
)
if mf_resp.error.status == 0:
@@ -201,9 +332,21 @@
else:
print(mf_resp.error.message)
+"""Share thing"""
+mf_resp = mfsdk.things.share_thing(
+ channel_id= "