PyCiscoSpark
Python Library to Interface to Cisco Spark REST API
Install / Use
/learn @brbester/PyCiscoSparkREADME
pyCiscoSpark
==============
Python Library to Interface to Cisco Spark REST API
using requests >2.4 - install instructions here: http://docs.python-requests.org/en/latest/user/install/
at = personal Access Token (see https://developer.ciscospark.com/getting-started.html)
Basically call the functions below and get a Python dictionary of the JSON back. You can then print the raw dictionary and choose the specific return fields you want to parse.
This is an example of getting a Display Name from the Spark API from the personID:
resp_dict2=pyCiscoSpark.get_persondetails(accesstoken,personid)
print resp_dict2['displayName']
Examples
###example.py Python example to show room members and print the text messages in a specified room execute via "python example.py access_token_string"
###example2.py Searches for a specified room and then posts a designated message
###createwebhook.py creates webhook to watch for new messages in a room
ciscospark.php
Sample PHP script to receive notifications from created webhook
sparkmess.py
Sample python script to act on notifications by posting a message back to room in response (bot example)
sparkgoogle.py
Sample "bot" script. prefix a query or question with Google in a room and it responds with top 2 Google search results and links. Requires ciscospark.php or similar to call it in response to created webhook.
Follows: https://developer.ciscospark.com/quick-reference.html
get_people(at,email,displayName,max):
List People in your Organization - max default is 10 you need to enter an email or displayName or Spark will send an error
get_persondetails(at,personId):
Get Person Details
get_me(at):
Get your Details
get_rooms(at):
Get a list of rooms in which you are a member
get_room(at,roomId):
Get room details
get_memberships(at):
Get membership list
get_membership(at,membershipId):
Get membership details
get_messages(at,roomId):
Get list of messages
get_message(at,messageId):
Get details of a specific message - useful for reading the text
get_webhooks(at):
list registered webhooks
get_webhook(at,webhookId):
get webhook info
post_createroom(at,title):
Create a room with title
post_message(at,roomId,text):
Post a message to a room (text only right now - see post_file)
post_file(at,roomId,url):
Posts a file to a room
post_membership(at,roomId,personEmail,isModerator=True):
Add a person to a room
post_webhook(at,name,targetUrl,resource,event,filter):
Create a webhook
put_room(at,roomId,title):
Change a room's title
put_membership(at,membershipId,isModerator):
change a member's moderator status
put_webhook(at,webhookId,name,targetUrl):
Change the targetURL or name for a webhook
del_room(at,roomId):
Delete a room
del_membership(at,membershipId):
Leave a room
del_message(at,messageId):
Delete a message
del_webhook(at,webhookId):
Delete a webhook
Related Skills
node-connect
340.2kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
84.1kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
340.2kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
84.1kCommit, push, and open a PR
