8 6 7-Lab
8 6 7-Lab
8 6 7-Lab
campus LEÓN
Administración de Redes
© - 十十十十 Cisco y/o sus filiales. Todos los derechos reservados. Información pública de Cisco Página 1 de
10 www.netacad.com
Laboratorio - Construir un script de Python para administrar equipos de Webex.
Objetivos
Parte 1: Ejecutar la máquina virtual de DEVASC.
Parte 2: Obtenga su token de acceso de Webex.
Parte 3: Probar su token de acceso.
Parte 4: Gestionar personas en equipos de Webex.
Parte 5: Administrar salas en equipos de Webex.
Parte 6: Gestionar membresías en equipos de Webex.
Parte 7: Administrar mensajes en equipos de Webex.
Aspectos básicos/Situación
En este laboratorio, usará las API de Webex para autenticar, administrar personas, administrar salas,
administrar membresías a salas y enviar un mensaje.
Recursos necesarios
• Una computadora con el sistema operativo de su elección con la aplicación de Webex instalada.
• Virtual Box o VMWare.
• Máquina virtual de DEVASC.
Instrucciones
© - aa Cisco y/o sus filiales. Todos los derechos reservados. Información pública de Cisco Página 2 de
10 www.netacad.com
Laboratorio - Construir un script de Python para administrar equipos de Webex.
© - aa Cisco y/o sus filiales. Todos los derechos reservados. Información pública de Cisco Página 3 de
10 www.netacad.com
Laboratorio - Construir un script de Python para administrar equipos de Webex.
© - aa Cisco y/o sus filiales. Todos los derechos reservados. Información pública de Cisco Página 5 de
10 www.netacad.com
Laboratorio - Construir un script de Python para administrar equipos de Webex.
d. Puede hacer clic en Probar o Ejecutar para verificar su acceso. Verá la respuesta con su información
personal.
© - aa Cisco y/o sus filiales. Todos los derechos reservados. Información pública de Cisco Página 6 de
10 www.netacad.com
Laboratorio - Construir un script de Python para administrar equipos de Webex.
e. Haga clic en Solicitar para ver la URL completa utilizada para enviar la solicitud GET. Usará esta URL
en el siguiente paso de su script de Python.
Paso 2: Utilizar una secuencia de comandos de Python para probar su token de acceso.
a. Abra Código VS. A continuación, haga clic en Archivo > Abrir carpeta... y navegue al directorio devnet-
src/webex-teams. Haga clic en Aceptar.
b. En el panel EXPLORADOR, ahora debería ver todos los archivos.py marcadores de posición que
utilizará en este laboratorio. Haga clic en el archivo authentciation.py.
© - aa Cisco y/o sus filiales. Todos los derechos reservados. Información pública de Cisco Página 7 de
10 www.netacad.com
Laboratorio - Construir un script de Python para administrar equipos de Webex.
Importar JSON.
access_token = 'su_token_here'
url = 'https://webexapis.com/v1/people/me'
headers = (
'Authorization': 'Bearer {}'.format(access_token)
}
res = requests.get(url, headers=headers)
print(json.dumps(res.json(), indent=4))
d. Guarde y ejecute el archivo. Debería obtener el mismo resultado que vio en la documentación de
OpenAPI.
Nota: Los valores de algunas de las claves se han truncado en la salida siguiente.
devasc @labvm: ~/labs/devnet-src/webex-teams$ python3 authentication.py
{
"id": "Y2lz... UYM2u",
"emails": [
"[email protected]"
],
"PhoneNumbers": [],
© - aa Cisco y/o sus filiales. Todos los derechos reservados. Información pública de Cisco Página 8 de
10 www.netacad.com
Laboratorio - Construir un script de Python para administrar equipos de Webex.
"displayName": "Your-First-Name Your-Last-Name",
"nickName": "Your-Nick-Name",
"firstName": " Your-First-Name",
"lastName": "Your-Last-Name",
"avatar": "https://9643-417f-9974...6baa4~1600 ",
"OrgID": "Y2lzy2... UxMgy",
"created": "2012-06-15T20:23:12.529Z",
"lastActivity": "2020-06-02T20:16:52.111Z",
"status": "active",
"type": "person"
}
devasc @labvm: ~/labs/devnet-src/webex-teams$
Paso 1: Buscar la documentación de la API para ver los detalles de un usuario registrado de
Webex.
a. Vuelva al sitio web developer.webex.com. En la parte Referencia de API > Personas, haga clic en el
Método de lista de personas.
b. En Parámetros de consulta, busque el parámetro de correo electrónico . Este es el parámetro que
utilizará para encontrar un usuario específico en su organización. Alternativamente, puede usar el
parámetro DisplayName, si conoce el nombre exacto. Puede utilizar la función Try it.
© - aa Cisco y/o sus filiales. Todos los derechos reservados. Información pública de Cisco Página 9 de
10 www.netacad.com
Laboratorio - Construir un script de Python para administrar equipos de Webex.
© - aa Cisco y/o sus filiales. Todos los derechos reservados. Información pública de Cisco Página 10 de
10 www.netacad.com
Laboratorio - Construir un script de Python para administrar equipos de Webex.
Paso 2: Utilizar un script de Python para enumerar los detalles de un usuario registrado de
Webex.
a. En Código VS, haga clic en el archivo list-people.py.
b. Coloque el código siguiente en el archivo. Asegúrese de reemplazar su_token_aquí con su token de
acceso personal y el usuario @example.com por un usuario real registrado en Webex de su
organización
Solicitudes de importación.
Importar JSON.
access_token = 'su_token_here'
url = 'https://webexapis.com/v1/people'
headers = (
'Authorization': 'Bearer {}'.format(access_token),
'Content-Type': 'application/json'
}
params = {
'email': '[email protected]'
}
res = requests.get(url, headers=headers, params=params)
print(json.dumps(res.json(), indent=4))
c. Guarde y ejecute el script. Debe de obtener un resultado similar al siguiente. Si recibe un mensaje como,
{'message': 'Dirección de correo electrónico no válida. '..., significa que no reemplazó el parámetro
de correo electrónico vacío por una dirección de correo electrónico legítima para un usuario registrado de
Webex. El valor de la clave id se utilizará en la próxima llamada a la API.
Nota: Los valores de algunas de las claves se han truncado en la salida siguiente.
devasc @labvm: ~/labs/devnet-src/webex-teams$ python3 list-people.py
{
"NotFoundids": null,
"items": [
{
© - aa Cisco y/o sus filiales. Todos los derechos reservados. Información pública de Cisco Página 11 de
10 www.netacad.com
Laboratorio - Construir un script de Python para administrar equipos de Webex.
"id": "y2l... 2I", # Usará este valor en el siguiente paso
"emails": [
"[email protected]"
],
"PhoneNumbers": [
{
"type": "mobile",
"value": "+1234567690"
}
],
"DisplayName": "DisplayName",
"nickName": "nickName",
"FirstName": "FirstName",
"lastName": "lastName",
"avatar": "https://9643-417f-9974...6baa4~1600 ",
"OrgID": "Y2lzy... uxMgy",
"created": "2012-06-15T20:39:19.726Z",
"LastActivity": "2020-06-04T 13:57:01 .688Z",
"status": "active",
"type": "person"
}
]
}
devasc @labvm: ~/labs/devnet-src/webex-teams$
© - aa Cisco y/o sus filiales. Todos los derechos reservados. Información pública de Cisco Página 12 de
10 www.netacad.com
Laboratorio - Construir un script de Python para administrar equipos de Webex.
© - aa Cisco y/o sus filiales. Todos los derechos reservados. Información pública de Cisco Página 13 de
10 www.netacad.com
Laboratorio - Construir un script de Python para administrar equipos de Webex.
b. Guarde el archivo y ejecútelo como no administrador, obtendrá información que es muy similar al paso
anterior.
devasc @labvm: ~/labs/devnet-src/webex-teams$ python3 list-people.py
{
<girst API call output omitted>
}
{
"id": "Y2l... 2I",
"emails": [
"[email protected]"
],
"PhoneNumbers": [
{
"type": "mobile",
"value": "+1234567890"
}
],
"DisplayName": "DisplayName",
"nickName": "nickName",
"FirstName": "FirstName",
"lastName": "lastName",
"avatar": "https://9643-417f-9974...6baa4~1600 ",
"OrgID": "Y2l... MGY",
"created": "2012-06-15T20:39:19.726Z",
"LastActivity": "2020-06-04T 14:39:36 .535Z",
"status": "active",
"type": "person"
}
devasc @labvm: ~/labs/devnet-src/webex-teams$
© - aa Cisco y/o sus filiales. Todos los derechos reservados. Información pública de Cisco Página 14 de
10 www.netacad.com
Laboratorio - Construir un script de Python para administrar equipos de Webex.
a. Vuelva al sitio web developer.webex.com. En Referencia de API, haga clic en salas.
b. Explore las distintas llamadas API que puede realizar con la API de Salas.
c. Haga clic en la solicitud GET para las Listas de Salas y explore los parámetros de consulta.
Paso 2: Utilizar una secuencia de comandos de Python para enumerar todas las salas de un
usuario autenticado.
a. Para este paso, deberá ser miembro de al menos una sala. Una conversación con otra persona se
considera una sala en Webex.
b. En Código VS, haga clic en el archivo list-rooms.py.
c. Coloque el código siguiente en el archivo. Asegúrese de reemplazar su_token_aquí con su token de
© - aa Cisco y/o sus filiales. Todos los derechos reservados. Información pública de Cisco Página 15 de
10 www.netacad.com
Laboratorio - Construir un script de Python para administrar equipos de Webex.
acceso personal.
Solicitudes de importación.
access_token = 'your_token_here'
url = 'https://webexapis.com/v1/rooms'
headers = (
'Authorization': 'Bearer {}'.format(access_token),
'Content-Type': 'application/json'
}
params= {'max': '100'}
res = requests.get(url, headers=headers, params=params)
print (res.json ())
d. Guarde y ejecute el archivo. Su resultado va a ser diferente del siguiente. Solo hay una sala en la lista.
Los valores de ID se han truncado.
devasc @labvm: ~/labs/devnet-src/webex-teams$ python3 list-rooms.py
{'items': [{'id': 'Y2l...ZTE0', 'title': 'User Name', 'type': 'direct', 'isLocked':
False, 'lastActivity': '2020-06-01T16:34:56.536Z', 'creatorId': 'Y2lz...yM2U',
'created': '2020-06-01T16:30:21.816Z', 'ownerId': 'Y2lz...xMGY'}
# salas adicionales mostradas hasta el valor "máximo".
]}
devasc @labvm: ~/labs/devnet-src/webex-teams$
© - aa Cisco y/o sus filiales. Todos los derechos reservados. Información pública de Cisco Página 16 de
10 www.netacad.com
Laboratorio - Construir un script de Python para administrar equipos de Webex.
© - aa Cisco y/o sus filiales. Todos los derechos reservados. Información pública de Cisco Página 17 de
10 www.netacad.com
Laboratorio - Construir un script de Python para administrar equipos de Webex.
Paso 4: Utilizar una secuencia de comandos de Python para crear una sala.
a. En Código VS, haga clic en el archivo create-rooms.py.
© - aa Cisco y/o sus filiales. Todos los derechos reservados. Información pública de Cisco Página 18 de
10 www.netacad.com
Laboratorio - Construir un script de Python para administrar equipos de Webex.
access_token = 'your_token_here'
url = 'https://webexapis.com/v1/rooms'
headers = (
'Authorization': 'Bearer {}'.format(access_token),
'Content-Type': 'application/json'
}
params= {'title': 'DevNet Associate Training! '}
res = requests.post(url, headers=headers, json=params)
print (res.json ())
c. Guarde y ejecute el archivo. Debería obtener una respuesta similar a la siguiente. Los valores de ID se
han truncado. El ID de la sala y el título están resaltados. Copie el ID de la sala y guárdelo en un archivo
de texto para utilizarlo en el resto de este laboratorio.
devasc @labvm: ~/labs/devnet-src/webex-teams$ python3 create-rooms.py
{'id': 'Y2l... gNm', 'title': 'DevNet Associate Training! ', 'type': 'group',
'isLocked': False, 'lastActivity': '2020-06-04T 16:50:19 .371Z', 'CreatoriID': 'Y2l...
M2U', 'created': '2020-06-04T 16:50:19 .371Z', 'ownerId': 'Y2l... MGY'}
devasc @labvm: ~/labs/devnet-src/webex-teams$
d. ¡En su aplicación Webex, verifique que ahora vea la sala de formación de asociados de DevNet!
Actualmente eres el único miembro.
© - aa Cisco y/o sus filiales. Todos los derechos reservados. Información pública de Cisco Página 19 de
10 www.netacad.com
Laboratorio - Construir un script de Python para administrar equipos de Webex.
access_token = 'your_token_here'
room_id = 'your_room_id'
url = 'https://webexapis.com/v1/rooms/{}/meetingInfo'.format(room_id)
headers = (
'Authorization': 'Bearer {}'.format(access_token),
'Content-Type': 'application/json'
}
res = requests.get(url, headers=headers)
print (res.json ())
© - aa Cisco y/o sus filiales. Todos los derechos reservados. Información pública de Cisco Página 20 de
10 www.netacad.com
Laboratorio - Construir un script de Python para administrar equipos de Webex.
c. Guarde y ejecute el archivo. Debería obtener una respuesta similar a la siguiente. Los valores se han
truncado.
devasc @labvm: ~/labs/devnet-src/webex-teams$ python3 get-room-details.py
{'RoomId': 'Y2l... gnm', 'MeetingLink': 'https://cisco.webex.com/m/3272...a837',
'sipAddress': '[email protected]', 'MeetingNumber': '162... 0468',
'CallIntollFreeNumber': '+1-866-... -9903', 'CallInTollNumber': '+1-408-... -6800'}
© - aa Cisco y/o sus filiales. Todos los derechos reservados. Información pública de Cisco Página 21 de
10 www.netacad.com
Laboratorio - Construir un script de Python para administrar equipos de Webex.
Paso 2: Utilizar una secuencia de comandos de Python para enumerar los miembros de la sala.
a. En Código VS, haga clic en el archivo list-memberships.py.
b. Coloque el código siguiente en el archivo. Reemplace su_token_aquí con su token de acceso personal.
Reemplace su_id_de sala con el valor que obtuvo en la parte anterior.
Solicitudes de importación.
access_token = 'your_token_here'
room_id = 'your_room_id'
url = 'https://webexapis.com/v1/memberships'
headers = (
'Authorization': 'Bearer {}'.format(access_token),
© - aa Cisco y/o sus filiales. Todos los derechos reservados. Información pública de Cisco Página 22 de
10 www.netacad.com
Laboratorio - Construir un script de Python para administrar equipos de Webex.
'Content-Type': 'application/json'
}
params = {'RoomId': room_id}
res = requests.get(url, headers=headers, params=params)
print (res.json ())
c. Guarde y ejecute el archivo. Debería obtener una respuesta similar a la siguiente. Usted debe ser el
único miembro a menos que haya agregado a alguien en la aplicación Webex. Los valores de ID se han
truncado.
devasc @labvm: ~/labs/devnet-src/webex-teams$ python3 list-memberships.py
{'items': [{'id': 'Y2l... rJzg', 'RoomId': 'Y2l... gnm', 'personId': 'Y2l... M2U',
'PersonEmail': '[email protected]', 'PersonDisplayName': 'PersonDisplayName',
'PersonOrgID': 'Y2l... MGY', ',', ':': 'IsModerator': ':': ':': ':': ':' False,
'isMonitor': False, 'creado': '2020-06-04T 16:50:19 .819Z'}]}
devasc @labvm: ~/labs/devnet-src/webex-teams$
© - aa Cisco y/o sus filiales. Todos los derechos reservados. Información pública de Cisco Página 23 de
10 www.netacad.com
Laboratorio - Construir un script de Python para administrar equipos de Webex.
© - aa Cisco y/o sus filiales. Todos los derechos reservados. Información pública de Cisco Página 24 de
10 www.netacad.com
Laboratorio - Construir un script de Python para administrar equipos de Webex.
Paso 4: Utilizar una secuencia de comandos de Python para crear una membresía, agregando a
alguien a la sala.
Para este paso, necesitará el correo electrónico de otra persona que sea un usuario registrado de Webex en
su organización. Puedes usar el mismo correo electrónico que utilizaste anteriormente para enumerar los
detalles de una persona.
a. En Código VS, haga clic en el archivo create-membership.py.
b. Coloque el siguiente código en el archivo. Reemplace su_token_aquí con su token de acceso personal.
Reemplace su_id_de sala con el valor que obtuvo en la parte anterior. Reemplace new-
[email protected] por el correo electrónico de la persona que desea agregar a la sala.
Solicitudes de importación.
access_token = 'your_token_here'
room_id = 'your_room_id'
person_email = '[email protected]'
url = 'https://webexapis.com/v1/memberships'
headers = (
'Authorization': 'Bearer {}'.format(access_token),
'Content-Type': 'application/json'
}
params = {'RoomId': room_id, 'personEmail': person_email}
res = requests.post(url, headers=headers, json=params)
print (res.json ())
c. Guarde y ejecute el archivo. Debería obtener una respuesta similar a la siguiente. Usted debe ser el
único miembro a menos que haya agregado a alguien en la aplicación Webex. Los valores de ID se han
truncado.
devasc @labvm: ~/labs/devnet-src/webex-teams$ python3 list-memberships.py
{'items': [{'id': 'Y2l... rJzg', 'RoomId': 'Y2l... gnm', 'personId': 'Y2l... M2U',
'PersonEmail': '[email protected]', 'PersonDisplayName': 'PersonDisplayName',
© - aa Cisco y/o sus filiales. Todos los derechos reservados. Información pública de Cisco Página 25 de
10 www.netacad.com
Laboratorio - Construir un script de Python para administrar equipos de Webex.
'PersonOrgID': 'Y2l... MGY', ',', ':': 'IsModerator': ':': ':': ':': ':' False,
'isMonitor': False, 'creado': '2020-06-04T 16:50:19 .819Z'}]}
devasc @labvm: ~/labs/devnet-src/webex-teams$
© - aa Cisco y/o sus filiales. Todos los derechos reservados. Información pública de Cisco Página 26 de
10 www.netacad.com
Laboratorio - Construir un script de Python para administrar equipos de Webex.
Paso 2: Utilizar una secuencia de comandos de Python para enviar un mensaje a una sala
Webex.
a. En Código VS, haga clic en el archivo creat-markdown-message.py.
b. Coloque el código siguiente en el archivo. Reemplace su_token_aquí con su token de acceso personal.
Reemplace su_id_de sala con el valor que obtuvo en la parte anterior.
Solicitudes de importación.
access_token = 'your_token_here'
room_id = 'your_room_id'
message = 'Hello **DevNet Associates**!!'
url = 'https://webexapis.com/v1/messages'
headers = (
© - aa Cisco y/o sus filiales. Todos los derechos reservados. Información pública de Cisco Página 27 de
10 www.netacad.com
Laboratorio - Construir un script de Python para administrar equipos de Webex.
'Authorization': 'Bearer {}'.format(access_token),
'Content-Type': 'application/json'
}
params = {'RoomId': room_id, 'markdown': message}
res = requests.post(url, headers=headers, json=params)
print (res.json ())
c. Guarde y ejecute el archivo. Debería obtener una respuesta similar a la siguiente. Observe que la rebaja
se convirtió a HTML. Los valores de ID se han truncado.
devasc @labvm: ~/labs/devnet-src/webex-teams$ python3 create-markdown-
message.py
{'id': 'Y2l...RjZg', 'roomId': 'Y2l...GNm', 'roomType': 'group', 'text': 'Hello DevNet
Associates!!', 'personId': 'Y2l...M2U', 'personEmail': '[email protected]', 'markdown':
'Hello **DevNet Associates**!!', 'html'<p>: 'Hello DevNet
Associates!!',<strong></strong></p> 'created': '2020-06-04T19:08:49.145Z'}
devasc @labvm: ~/labs/devnet-src/webex-teams$
© - aa Cisco y/o sus filiales. Todos los derechos reservados. Información pública de Cisco Página 28 de
10 www.netacad.com
Laboratorio - Construir un script de Python para administrar equipos de Webex.
© - aa Cisco y/o sus filiales. Todos los derechos reservados. Información pública de Cisco Página 29 de
10 www.netacad.com