Skip to content

Instantly share code, notes, and snippets.

@Aldaviva
Created April 19, 2017 04:17
Show Gist options
  • Select an option

  • Save Aldaviva/4d2d311ab050e5f72be1f94557fd1079 to your computer and use it in GitHub Desktop.

Select an option

Save Aldaviva/4d2d311ab050e5f72be1f94557fd1079 to your computer and use it in GitHub Desktop.
Has anyone joined a specific BlueJeans meeting?

Is Meeting Active

You can use a generic HTTP client to send a JSON POST request to the BlueJeans API in order to find out if any participants are connected to the given meeting.

Inputs

Name Example Notes
meetingNumericId 10990 The meeting ID of the BlueJeans meeting to check.
meetingPasscode 0000 If the meeting has a participant passcode, you must pass either the participant or moderator passcode, otherwise, you can pass null.

Request

POST https://api.bluejeans.com/v1/services/pairingCodeGenerator?includePairing=false&stringifyOauthJson=false HTTP/1.1
Content-Type: application/json
{
    "grant_type": "meeting_passcode",
    "meetingNumericId": "10990",
    "meetingPasscode": "0000"
}

Response

The response JSON body will contain a liveMeetingInfo property.

Algorithm

  1. If liveMeetingInfo is not null and liveMeetingInfo.status is "active", then the meeting is active.
  2. Otherwise, the meeting is inactive.

In the example responses below, some of the irrelevant response properties have been elided for brevity.

Active meeting

HTTP/1.1 200 OK
Content-Type: application/json; charset=UTF-8
{
    "liveMeetingInfo": {
        "status": "active"

        /* other properties elided */
    },

    "endpoint": null,
    "events": { /* elided */ },
    "oauthInfo": { /* elided */ },
    "partitionInfo": null,
    "phoneContactInfo": { /* elided */ },
    "profilePictureUrl": "/* elided */",
    "scheduledMeetingInfo": { /* elided */ }
}

Inactive meeting

HTTP/1.1 200 OK
Content-Type: application/json; charset=UTF-8
{
    "liveMeetingInfo": null,

    "endpoint": null,
    "events": { /* elided */ },
    "oauthInfo": { /* elided */ },
    "partitionInfo": null,
    "phoneContactInfo": { /* elided */ },
    "profilePictureUrl": "/* elided */",
    "scheduledMeetingInfo": { /* elided */ }
}

If everyone left or was kicked out of the meeting recently, you may see this response instead.

HTTP/1.1 200 OK
Content-Type: application/json; charset=UTF-8
{
    "liveMeetingInfo": {
        "status": "terminated"

        /* other properties elided */
    },

    "endpoint": null,
    "events": { /* elided */ },
    "oauthInfo": { /* elided */ },
    "partitionInfo": null,
    "phoneContactInfo": { /* elided */ },
    "profilePictureUrl": "/* elided */",
    "scheduledMeetingInfo": { /* elided */ }
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment