最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

How to create a join link with BigBlueButton API v3.0 to join an existing sessionas existing attendee in a meeting - Stack Overf

programmeradmin1浏览0评论

Using the API of BigBlueButton v3.0 I want to create a join link to a meeting for an existing attendee, e.g. so that the user can use that link to join the meeting on another device while still only showing up only once in the attendee list.

According to the API reference for BigBlueButton v3.0 this is exactly what the GET endpoint getJoinUrl is for:

The getJoinUrl endpoint generates a new /join URL that can be used to create a new session for an existing user.

But the docs only list four parameters for that endpoint - replaceSession, sessionName, enforceLayout, userdata-* - none of which can actually be used to specify the existing user/session in the meeting.

In the example request further down though this seems to be done using the parameter sessionToken:

Example Requests:

/bigbluebutton/api/getJoinUrl?sessionToken=xyn1fbqlrhug1j6z&enforceLayout=PRESENTATION_ONLY&sessionName=Presentation%20session&userdata-bbb_client_title=Presentation%20client

So if this is the right way to get a join link for the existing session how can I get the sessionToken for an existing attendee required for this request? I can find no useful hints on this in the documentation and the getMeetingInfo endpoint - which would make most sense for this - does not return the session token.

The only place I can see a session token returned is in the example response to the join endpoint:

<response>
  <returncode>SUCCESS</returncode>
  <messageKey>successfullyJoined</messageKey>
  <message>You have joined successfully.</message>
  <meeting_id>640ab2bae07bedc4c163f679a746f7ab7fb5d1fa-1531155809613</meeting_id>
  <user_id>w_euxnssffnsbs</user_id>
  <auth_token>14mm5y3eurjw</auth_token>
  <session_token>ai1wqj8wb6s7rnk0</session_token>
  <url>.html?sessionToken=ai1wqj8wb6s7rnk0</url>
</response>

I.e. I would have to save the session token externally to be able to generate a new join link after the user joined.

Is this really how it is supposed to work?

Is there no other way to generate a join link for an existing session with only, e.g., the user_id (which is returned by the getMeetingInfo endpoint)??

Using the API of BigBlueButton v3.0 I want to create a join link to a meeting for an existing attendee, e.g. so that the user can use that link to join the meeting on another device while still only showing up only once in the attendee list.

According to the API reference for BigBlueButton v3.0 this is exactly what the GET endpoint getJoinUrl is for:

The getJoinUrl endpoint generates a new /join URL that can be used to create a new session for an existing user.

But the docs only list four parameters for that endpoint - replaceSession, sessionName, enforceLayout, userdata-* - none of which can actually be used to specify the existing user/session in the meeting.

In the example request further down though this seems to be done using the parameter sessionToken:

Example Requests:

https://bbb30.bbb.imdt.dev/bigbluebutton/api/getJoinUrl?sessionToken=xyn1fbqlrhug1j6z&enforceLayout=PRESENTATION_ONLY&sessionName=Presentation%20session&userdata-bbb_client_title=Presentation%20client

So if this is the right way to get a join link for the existing session how can I get the sessionToken for an existing attendee required for this request? I can find no useful hints on this in the documentation and the getMeetingInfo endpoint - which would make most sense for this - does not return the session token.

The only place I can see a session token returned is in the example response to the join endpoint:

<response>
  <returncode>SUCCESS</returncode>
  <messageKey>successfullyJoined</messageKey>
  <message>You have joined successfully.</message>
  <meeting_id>640ab2bae07bedc4c163f679a746f7ab7fb5d1fa-1531155809613</meeting_id>
  <user_id>w_euxnssffnsbs</user_id>
  <auth_token>14mm5y3eurjw</auth_token>
  <session_token>ai1wqj8wb6s7rnk0</session_token>
  <url>https://yourserver/client/BigBlueButton.html?sessionToken=ai1wqj8wb6s7rnk0</url>
</response>

I.e. I would have to save the session token externally to be able to generate a new join link after the user joined.

Is this really how it is supposed to work?

Is there no other way to generate a join link for an existing session with only, e.g., the user_id (which is returned by the getMeetingInfo endpoint)??

Share Improve this question asked Mar 12 at 17:18 acranacran 9,1082 gold badges24 silver badges39 bronze badges
Add a comment  | 

1 Answer 1

Reset to default 0

Digging around a little more in the documentation and code and experimenting a bit I found out the following:

getJoinUrl seems to be intended to only be used within the frontend (and not server-side/outside the browser) since it only works within the same browser session as the sessionToken.

When it works it returns a /join url in the form as the example in the docs:

Example Response:

{
    "response": {
        "returncode": "SUCCESS",
        "message": "Join URL provided successfully.",
        "url": "https://bbb30.bbb.imdt.dev/bigbluebutton/api/join?&redirect=true&existingUserID=w_t18rn7uc1wjm&role=MODERATOR&userdata-bbb_client_title=Presentation+client&sessionName=Presentation+session&fullName=teacher%2B1&meetingID=random-7653737&enforceLayout=PRESENTATION_ONLY&checksum=135f230a2339b9485d91a3e87b1a22420ca57e8b"
    }
}

So this is basically just the join endpoint with the additional undocumented parameter existingUserID where one can specify the user ID returned by the getMeetingInfo endpoint (see also the respective code here).

One thing to note though: existingUserID requires the internal user ID which is only returned by getMeetingInfo if no userID was manually specified to the join endpoint...

与本文相关的文章

发布评论

评论列表(0)

  1. 暂无评论