apiKey or sdkKey only need one, and can't empty ({\"apiKey\":\"\",\"sdkKey\":\"\"}

“method”: “join”,
“status”: false,
“result”: null,
“errorMessage”: “apiKey or sdkKey only need one, and can’t empty ({"apiKey":"","sdkKey":""})”,
“errorCode”: 4003


Just by looking at it seems that you may not be passing the correct credentials.
Can you provide us with steps to reproduce the error?


unable to join the meeting which has been created from host.

“method”: “join”,
“status”: false,
“result”: “Invalid signature.”,
“errorMessage”: “Signature is invalid.”,
“errorCode”: 3712

Hi @nirmaltiwari139 ,

It does seem that you are not generating the signature correctly. What app type are you using to generate the credentials? Can you make sure that you are following the guidelines mentioned here: https://marketplace.zoom.us/docs/sdk/native-sdks/auth/#2-generate-the-meeting-sdk-jwt ?

If you continue to get the error, I would decode the signature. The output values should match the following:

  "appKey": SDK_KEY,
  "sdkKey": SDK_KEY,
  "role": ROLE,
  "iat": 1646937553,
  "exp": 1646944753,
  "tokenExp": 1646944753

perhaps you should start with the zoom example on github → CDN version

enter SDK_KEY and SDK_SECRET → CDN/js/index.js and start the meeting

now you have a reference version and you can compare it with your programming

Iam using this function using asp.net for generating signature.

public static string GenerateToken(string apiKey, string apiSecret, string meetingNumber, string ts, string role)
string message = String.Format(“{0}{1}{2}{3}”, apiKey, meetingNumber, ts, role);
apiSecret = apiSecret ?? “”;
var encoding = new System.Text.ASCIIEncoding();
byte keyByte = encoding.GetBytes(apiSecret);
byte messageBytesTest = encoding.GetBytes(message);
string msgHashPreHmac = System.Convert.ToBase64String(messageBytesTest);
byte messageBytes = encoding.GetBytes(msgHashPreHmac);
using (var hmacsha256 = new HMACSHA256(keyByte))
byte hashmessage = hmacsha256.ComputeHash(messageBytes);
string msgHash = System.Convert.ToBase64String(hashmessage);
string token = String.Format(“{0}.{1}.{2}.{3}.{4}”, apiKey, meetingNumber, ts, role, msgHash);
var tokenBytes = System.Text.Encoding.UTF8.GetBytes(token);
return System.Convert.ToBase64String(tokenBytes).TrimEnd(padding);

please refer to Generate SDK Signature with ASP.NET Core (C#) backend - #8 by donte.zoom. I will close this one for duplicacy