cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
2631
Views
0
Helpful
2
Replies

Webex API

reindl_mc
Level 1
Level 1

Hi Community

I have Cisco Spark M3 and wants to set that HOST PIN for all USERs over API

To set HOST PIN we need to use WebexAPI as Spark API will not support this function.

Without SSO - we can set the Host PIN over this XML Service API https://customer.webex.com/WBXService/XMLService

With SSO we do not get it working.

In this guide Cisco DevNet: WebEx Conferencing - XML API - Release Notes there are follwing parameter mentioned:  „clientID“, „clientSecret“ „accessToken“ but it seems they are not the same as we use for SPARK API.

So how can we log into Webex XML API when we use SSO ? Or is it possible to change the HOST PIN over the Spark API ?

kind regards

1 Accepted Solution

nmorrow
Cisco Employee
Cisco Employee

Hello,

Spark API app can be used for WebEx API authentication, provided the app has the spark:all scope and the user has use access to the WebEx site.

Meeting Service API authentication for Cisco Spark with WebEx.

Log in to developer.ciscospark.com.

Click My Apps

Create a new app with spark:all scope selected (Existing app is ok)

  • - Set Redirect URL to valid URL that you control, this will be used to provide authorization code via GET variable
  • - Save generated Client ID and Client Secret

Issue HTTP GET request to https://api.ciscospark.com/v1/authorize

  • - response_type=code
  • - client_id=<your Client ID>
  • - redirect_uri = <your redirect URL from registered application, it must match>
  • - scope=spark:all
  • - state=<custom state value of your choosing for identification or tracking, optional>

Spark page will prompt user to authorize application, if approved, user will be redirected to redirect uri with a code and the previously set state value as GET variables, save the code

Issue HTTP POST request to https://api.ciscospark.com/v1/access_token

  • - grant_type=authorization_code
  • - client_id=<your Client ID>
  • - client_secret=<your Client Secret>
  • - code=<the previously returned code>
  • - redirect_uri=<your redirect URL from registered application, it must match>

JSON data will be returned in the response body, save the access_token value.

Issue XML API AuthenticateUser request

  • - securityContext should contain webExID and siteName
  • - webExID should match the email address for the spark user (webExID is not actually used for authenticateUser and is ignored but schema requires a value, any non-null value will work, email address for authenticated user is a best practice)
  • - siteName is the subdomain of the WebEx site
  • - bodyContent will include one child element named accessToken, which should be set to the previously returned access_token

returned sessionTicket will be used in the security context for subsequent XML API requests.

View solution in original post

2 Replies 2

nmorrow
Cisco Employee
Cisco Employee

Hello,

Spark API app can be used for WebEx API authentication, provided the app has the spark:all scope and the user has use access to the WebEx site.

Meeting Service API authentication for Cisco Spark with WebEx.

Log in to developer.ciscospark.com.

Click My Apps

Create a new app with spark:all scope selected (Existing app is ok)

  • - Set Redirect URL to valid URL that you control, this will be used to provide authorization code via GET variable
  • - Save generated Client ID and Client Secret

Issue HTTP GET request to https://api.ciscospark.com/v1/authorize

  • - response_type=code
  • - client_id=<your Client ID>
  • - redirect_uri = <your redirect URL from registered application, it must match>
  • - scope=spark:all
  • - state=<custom state value of your choosing for identification or tracking, optional>

Spark page will prompt user to authorize application, if approved, user will be redirected to redirect uri with a code and the previously set state value as GET variables, save the code

Issue HTTP POST request to https://api.ciscospark.com/v1/access_token

  • - grant_type=authorization_code
  • - client_id=<your Client ID>
  • - client_secret=<your Client Secret>
  • - code=<the previously returned code>
  • - redirect_uri=<your redirect URL from registered application, it must match>

JSON data will be returned in the response body, save the access_token value.

Issue XML API AuthenticateUser request

  • - securityContext should contain webExID and siteName
  • - webExID should match the email address for the spark user (webExID is not actually used for authenticateUser and is ignored but schema requires a value, any non-null value will work, email address for authenticated user is a best practice)
  • - siteName is the subdomain of the WebEx site
  • - bodyContent will include one child element named accessToken, which should be set to the previously returned access_token

returned sessionTicket will be used in the security context for subsequent XML API requests.

Thank you very much - we got it running with your help ! Great Job.

kind regards