Meeting SDK android implementation

Hi Team,
I have integrated zoom meeting sdk in one of my android app couple years ago .
Now doing it for another app, but I can see sdk has changed alot since then.
Tried to install it but getting ZOOM_ERROR_AUTHRET_TOKENWRONG OR ZOOM_ERROR_INVALID_ARGUMENTS.
I am not sure where i am going wrong.
I am doing simple inegration where user can simply join zoom meeting with URL with guest login in android app.
Couple of doubts i have .

  • for my requirement of simply joining the zoom meeting do i need to select “Build app” or “Build legacy app” on zoom market place
  • What will be the Redirect URL for OAuth and Add Allow List , as these fields are mandatory.
  • I am producing jwt token as below is there anything missing in it?
    sample JWT:- “eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhcHBLZXkiOiJOY0NmZUdzTFR2R1UwQjdhaGRXdnhRIiwiaWF0IjoxNzIxMDQ3NzA4LCJleHAiOjE3MjEwNTQ5MDgsInRva2VuRXhwIjoxNzIxMDU0OTA4fQ.kr90ftuy55C0Y2SospBZvZoy7Ev6WCQgli_0J2_9Jp8”

Kindly help me out @chunsiong.zoom and team.

@shubh what marketplace application are you using right now?

You will either need a Legacy Meeeting SDK App, or a General App with the Meeting SDK toggle button turned on.



Hi @chunsiong.zoom ,
Thanks for the reply,
I have tried both Creating Legacy as well as General App with Meeting Sdk.
But no luck.
Attached ss for the reference.

@shubh how are you generating the token?

@chunsiong.zoom Apologies , for late reply due to some account migration thing.
Found the issue , suspect was JWT token , I was creating JWT token app side(for testing purpose) with following code.
Below logic seem right, but somehow it didnt worked ,
I have switched it to backend and it worked.
Thanks for help :slight_smile:

import io.jsonwebtoken.Claims;
import io.jsonwebtoken.JwtBuilder;
import io.jsonwebtoken.Jwts;
import io.jsonwebtoken.SignatureAlgorithm;
import io.jsonwebtoken.impl.TextCodec;

import java.security.Key;
import java.time.Instant;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import java.util.UUID;
import javax.crypto.spec.SecretKeySpec;
import javax.xml.bind.DatatypeConverter;
import org.json.JSONObject;

public class Token {

public static void main(String[] args) {

String key = "Uses_SDK_Client_ID_Here";
String secret ="Uses_SDK_Client_Secret_Here";
int meetingNumber = 123456789;
long iat = (System.currentTimeMillis()/1000);
long exp = iat + 60*60*2;

Map<String, Object> header1 = new HashMap<>();
header1.put("alg", "HS256");
header1.put("typ", "JWT");

JSONObject payload = new JSONObject();
// payload.put("sdkKey", key);
payload.put("appKey", key);
// payload.put("mn", meetingNumber);
payload.put("iat", iat);
payload.put("exp", exp);
payload.put("tokenExp", exp);

String sPayload = payload.toString();

String sdkJWT = Jwts.builder()
.setHeader(header1)
.setPayload(sPayload)
.signWith(SignatureAlgorithm.HS256, secret)
.compact();

System.out.println("SDK JWT: " + sdkJWT);
}

}```