View
8
Download
0
Category
Preview:
Citation preview
Android Webex Meeting Application
Intregration API
1. Intent Fillter ..................................................................................................................................... 3
2. Sign In .............................................................................................................................................. 3
3. Schedule Instant Meeting................................................................................................................. 4
4. Instant Meeting................................................................................................................................ 5
5. Schedule Meeting ............................................................................................................................ 6
6. Start Meeting by Token .................................................................................................................... 6
7. Get wbx:// Host URL......................................................................................................................... 7
8. Start Meeting ................................................................................................................................... 8
9. WebEx Login Status Query API (New API from 6.5V). ........................................................................ 8
10. WebEx Login Status Update Broadcast (New API from 6.5V). ........................................................ 9
11. WBXUrlApiService ...................................................................................................................... 10
12. Meeting Status Query................................................................................................................. 16
13. Meeting Status Broadcast ........................................................................................................... 16
14. Join Meeting............................................................................................................................... 17
Revision History
Date Authors Contributors Description Auditor
2010-10-19 Ling.Hao First draft
2010-11-26 Ling.Hao Delete: OneClick for HTTPS
Update: Schedule Instant Meeting
Add: Start/Join Instant Meeting
2010-12-02 Wang.Limin Update: Start/Join Instant
Meeting
Update: One Click from Https
2010-12-06 Ling.Hao Update: 3.Schedule Instant
Meeting – Return Value’s name
and sample code.
Update: 4.Start Instant Meeting –
Change Intent parameter’s name.
2010-12-07 Sandra Kwan Add: Return value of Sign In
2010-12-10 Ling.Hao Add: 5.Get wbx host URL; 6.
Start Meeting
2010-12-16 Sandra Kwan Modified XML API wrap service to
pass in partial XML request
content
2011-03-17 Ling.Hao Added a extra parameter in
wbx://meeting2
2011-05-06 Sandra Kwan Updated the package name
2015-10-30 Jason Chen Update Meetring update
broadcast action
Add Join meeting from another
document
1. Intent Fillter
The Intent filter used by WebEx meeting application was defined as below:
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.BROWSABLE" />
<category android:name="android.intent.category.DEFAULT" />
<data android:scheme="wbx" />
</intent-filter>
2. Sign In
Intent Data: wbx://WbxSignIn
Arguments
None.
Examples
wbx://WbxSignIn
Return Value
If Activity call this intent through StartActivityForResult() function, the caller can obtain
schedule result through OnActivityResult(). If schedule was successful, the parameter
resultCode for OnActivityResult() is RESULT_OK, otherwise is RESULT_CANCELED
Sample Code:
Call the SignIn integration like this:
Intent i = new Intent(Intent.ACTION_VIEW); i.addCategory(Intent.CATEGORY_BROWSABLE); i.putExtra("INTENT_EXTRA_NO_ANIM", true); i.setData(Uri.parse("wbx://WbxSignIn")); startActivityForResult(i, START_SIGN_ON);
Then get result in OnActivityResult: @Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) { switch (requestCode) { case START_SIGN_ON: if (resultCode == RESULT_OK){ System.out.println("User signed on susscessfully!"); }
else { Log.i(TAG, "sign on failed"); System.out.println("User cancelled signon."); } break; } }
3. Schedule Instant Meeting
Intent Data: wbx:// WbxSchedule?attendees=<email addresses list>&password=<password>
Arguments
attendees: attendees’ email addresses. Use “,” as separator. Email addresses will
be added into invite boxes automatically. It is optional. Empty value
equals no this argument.
password: meeting’s password which you want to specify. It is plain text. It is
optional. Empty value means meeting does not require password.
noUI: flag to suggest Application to show “Schedule dialog” UI or not.
Designed for IM integration. noUI=true, show dialog, else not.
Examples
wbx://WbxSchedule?attendees=reed@hf.webex.com%2Cruiyan@cisco.com&password
=123456 wbx://WbxSchedule?attendees=reed@hf.webex.com
wbx://WbxSchedule?&password=123456
Return Value
If Activity call this intent through StartActivityForResult() function, the caller can obtain schedule result through OnActivityResult(). If schedule was successful, the parameter
resultCode for OnActivityResult() is RESULT_OK, otherwise is RESULT_CANCEL. If it is
RESULT_OK , the result data can be get from Intent’s extra data which defined as below:
Key Type Value
Password String Meeting password of scheduled meeting. It is null if no
password required.
JoinURL String The URL link text for joining a meeting.
wbxHostURL String The URL link text for starting a meeting. It includes an
encrypted string which includes information about scheduled meeting, can be used to start meeting for user.
Refer to this.
MeetingKey String MeetingKey for this meeting, IM integration
ServerName String Server Name for the meeting site, IM integration
SiteName String Site Name for the meeting site, IM Integration
Sample Code:
4. Instant Meeting Intent Data: wbx:// instant?attendees=<email addresses
list>&meetingpwd=<password>&nativecall=true
Arguments
attendees: attendees’ email addresses. Use “,” as separator. Invitations will be sent
to these attendees automatically. If it is specified with at list one email
address, WebEx meeting application will open email invitation UI
automatically after meeting started. It is optional. Empty or specified
with empty string means invitation UI will not be opened. At most 20
email addresses are supported.
meetingpwd: meeting’s password which you want to specify. It is plain text. It is
optional. Empty value means meeting does not require password.
nativecall: true or false. If it is true, integrated audio conference will be disabled
while start meeting. WebEx meeting application will try to monitor
system call event, while native call is hung up, integrated audio
conference will be enabled. It is optional. Empty means “nativecall =
false”.
Examples
wbx://instant?attendees=reed@hf.webex.com,ruiyan@cisco.com& meetingpwd
=123456 wbx://instant?attendees=reed@hf.webex.com
wbx:// instant?& meetingpwd =123456
5. Schedule Meeting Intent Data: wbx:// schedule?attendees=<email addresses list>
Arguments
attendees: attendees’ email addresses. Use “,” as separator. After start instant
meeting, email addresses will be sent automatically. It is optional.
Empty value equals no this argument.
Examples
wbx:// schedule?attendees=reed@hf.webex.com,ruiyan@cisco.com wbx:// schedule?attendees=reed@hf.webex.com
6. Start Meeting by Token
Android Application can use this API to start/join a meeting which scheduled by WebEx
Application by Schedule Instant Meeting or other application.
Intent Data: wbx://meeting3?token=<token>&action=start
Arguments
token: A encrypted string which includes information about scheduled
meeting, can be used to start/join meeting for user. WebEx Meeting
Application can recognize this string and use it to start/join meeting
correctly. It was generated by WebEx Meeting Application by call
Schedule Instant Meeting or wbx:// host URL. WebEx Meeting
Application will do start or join based on current users account
information.
action: start or join. Currently not used. In future WebEx meeting client may
use this parameter to do different actions.
7. Get wbx:// Host URL
This API is used to get the Uri by meeting key and password. Returned URL can be used to start
meeting by calling API Start Meeting by Token.
Intent Data: wbx://WbxHostURL?MK=<meeting number>[&MPW=<password>]
Arguments
MK: Meeting key.
MPW: Plan text meeting password.
Return Value
If Activity call this intent through StartActivityForResult() function, the caller can obtain
result through OnActivityResult(). If intent format is right, the parameter resultCode for OnActivityResult() is RESULT_OK, otherwise is RESULT_CANCEL. If it is RESULT_OK , the
result data can be get from Intent’s extra data which defined as below:
Key Type Value
wbxHostURL String The URL link text for starting a meeting. It includes an encrypted string which includes information about
scheduled meeting, can be used to start meeting for user.
Refer to this.
Examples
wbx://WbxHostURL?MK=296354946&MPW=123456 Return value is like: wbx://meeting3?token=XwXTrP2iuWTN5dLyvlI8Z9+ZIEwK7nHJwOfceFbkWK8=&action=start
8. Start Meeting
If Application knows meeting key and password, then it can call this API to start meeting through
WebEx meeting application.
Intent Data: wbx://WbxStartMeeting?MK=<meeting number>[&MPW=<encoded
password>|&RP=1]
Arguments
MK: Meeting key.
MPW: Plan text or One way encoded password. It is just to be used for
checking user input password. If password is not correct, meeting
application will ask user to enter a password while connecting.
RP: Currently not used .RP =1 indicates the meeting needs a password. At
most one of MPW and RP=1 exists in the URI. If RP=1, then meeting
application will ask user to input password before connect to server. If
not exists RP argument, meeting application will directly connect
meeting server with current MPW. If both MPW and RP do not exist,
application will connect server with assuming the meeting does not
require a password.
Examples
wbx://WbxStartMeeting?MK=296354946&MPW=bcb15f821479b4d5772bd0ca866c00ad5f926e3580720659cc80d39c9d09802a
9. WebEx Login Status Query API (New API from 6.5V).
When 3rd app want to get WebEx login status, they could use this API to retrieve WebEx login status.
How To Call:
1. Add WebEx permission in AndroidManifest.xml.
2. SendOrderBroadcast.
3. Add Login status receiver.
Return Values:
SignInFlag: boolean
SiteType: String value. Train, WBX11, Orion
DisplayName: String value.
10. WebEx Login Status Update Broadcast (New API from 6.5V). When WebEx login status has been changed. It sends a broadcast to other applications.
How To Call:
11. WBXUrlApiService
WBXUrlApiService receive calendar schedule, update and delete meeting request, send schedule,
update and delete meeting command and then return meeting key and other values to calendar.
How to Call:
Put the service interface definition file to your android project with package name
“com.cisco.webex.meetings.service”.
The file list is:
ICalendarContentValues.java
ICalendarMeetingInfo.java
IWBXUrlApiService.aidl
ICalendarMeetingInfo.aidl
ICalendarContentValues.aidl
You can bind service and use interface to call service’s API.
Interface:
ICalendarContentValues SendScheduleMeetingRequest(ICalendarMeetingInfo
meetingInfo);
ICalendarContentValues SendUpdateMeetingRequest(ICalendarMeetingInfo
meetingInfo);
ICalendarContentValues SendDeleteMeetingRequest(ICalendarMeetingInfo
meetingInfo);
“ICalendarMeetingInfo” is meeting information class which will be sent to service.
“ICalendarContentValues” is return values class which service return to calendar.
ICalendarMeetingInfo element explanation:
Properties explanation Null? Type Validation
meetingName meeting topic N String
password meeting password Y String
startDate GMT time. N Long >0
duration meeting
duration(minute)
N int >0
description meeting agenda Y String only support webex
11 site.
attendees email1,email2 “,” split Y String
meetingKey update meetings N String when update
meeting, can’t null
recurType noRepeat/Daily/Week
ly/Monthly/Yearly
Y String weekly recurrence,
only support every
one week recur
yearly recur don’t
support on webex 11
site
occurType Day/Week/Month Y String
dayInterval 1,2,…,999. Y int
wkInterval 1,2,…,6 only if
recurType is weekly
Y int
wkDays bit6: Sunday
bit5: Monday
bit4: Tuesday
bit3: Wednesday
bit2: Thursday
bit1: Friday
bit0: Saturday
Y int
dayInMonth 1,2,…,31 Y int
monthInterval 1,2,…,12 Y int
dayInWeek [1, 7] Y int
wkInMonth [1, 6] Y int
monthInYear 1-January, 2-
Feburary,…, 12-
December
Y int
endType NoEnd/EndByDate Y String
endByDate GMT time Y Long
ICalendarContentValues element explanation:
Properties explanation Type
errorNumber error number of schedule/update/delete meeting int
meetingKey schedule success, return meeting key String
meetingURL schedule/update success, return meeting url for join or
start meeting
String
meetingStatus schedule/update/delete meeting status. 0 is success, 1
is fail.
int
paErrorNumb
er
error number of post attendees int
paStatus post attendees status, 0 is success, 1 is fail int
hostKey schedule success, host key. String
getHostKeySt
atus
get host key status. 0 is success, 1 is fail. int
getHostKeyErr
orNumber
get host key error number int
I also send “Calendar errors and recurrence sample” file to you. You can get error
maps ,recurrence example and params limit from the spreadsheet.
Calendar errors and recurrence sample2.xlsx
Example :
o schedule meeting:
o Update meeting
o Delete meeting
12. Meeting Status Query
Application can send the broadcast to meeting application to retrieve meeting status How To Call:
Intent I = new Intent();
i.setAction(“com.webex.meeting.MEETING_STATUS”)
sendOrderedBroadCast(i,…);
Return Values:
MeetingNumber: int value. if in meeting, return the meeting number. Else, 0.
MeetingStatus: int value. 1 – in meeting, 0 – not in meeting.
IsHost: int value. 1- current meeting user is Host, 0 – not Host.
13. Meeting Status Broadcast When Meeting status has been changed within meeting application. It sends a broadcast to
other applications. How To Call:
Meeting client already implements this feature.
Receive Values:
MeetingKey: int value.
STATUS: int value. 1 – meeting connected, 0 – meeting disconnected, 3- meeting
closed, 4- meeting in progress, 6 – meeting expired, 7- meeting connect failed.
Action: com.webex.meeting.MEETING_UPDATED
<intent-filter> <action android:name="com.webex.meeting.MEETING_UPDATED" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter>
14. Join Meeting If Application knows meeting key and password, then it can call this API to join
meeting through WebEx meeting application.
Intent Data: wbx://meeting
Extra Arguments
MK: Meeting key.
MPW: Plan text or One way encoded password. It is just to be used for
checking user input password. If password is not correct,
meeting application will ask user to enter a password while
connecting.
Examples
i.setData(Uri.parse("wbx://meeting"));
Intt.putExtra(“MK”,”12345670”);
Intt.putExtra(“MPW”,”123456”);
Recommended