# Nvalid parameters

**URL:** <https://devforum.zoom.us/t/nvalid-parameters/104511>\
**Category:** Flutter\
**Created:** [February 25, 2024, 3:10pm UTC](https://devforum.zoom.us/t/nvalid-parameters/104511 "2024-02-25T15:10:52Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![start.walid.1](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/start.walid.1/32/56967_2.png) [@start.walid.1](https://devforum.zoom.us/u/start.walid.1)\
**Post date:** [February 25, 2024, 3:10pm UTC](https://devforum.zoom.us/t/nvalid-parameters/104511/1 "2024-02-25T15:10:52Z")

</div>

void initState() {  
controller.getConsultantsList(widget.id);  
final apiKey = ‘DIRLb62XRtOm6YD6Bv5Ltg’;  
final apiSecret = ‘6DXqB3KAwNIUOFAxflqqpTsIgrcSnAUa’;  
final sessionName = ‘71878749797’; // Replace with your session name  
final zoomToken = generateZoomToken(apiKey, apiSecret, sessionName);  
controller.sessionToken=zoomToken;  
print(‘Zoom Token: $zoomToken’);  
super.initState();  
}

String generateZoomToken(String apiKey, String apiSecret, String sessionName) {  
final Map\<String, dynamic\> claims = {  
‘appKey’: apiKey,  
‘iat’: DateTime.now().millisecondsSinceEpoch ~/ 1000,  
‘exp’: DateTime.now().add(const Duration(minutes: 15)).millisecondsSinceEpoch ~/ 1000,  
‘tokenExp’: DateTime.now().add(const Duration(days: 1)).millisecondsSinceEpoch ~/ 1000,  
‘version’: 1,  
‘role\_type’:0,  
‘user\_identity’:“BNmh-fHmRWmnCiL1832MDg”,  
‘user’: {  
‘id’: “[start.walid.1@gmail.com](mailto:start.walid.1@gmail.com)”,  
‘name’: “walid”,  
},  
‘tpc’: sessionName,  
};

```
final String encodedHeader = base64Url.encode(utf8.encode(json.encode({'alg': 'HS256', 'typ': 'JWT'})));
final String encodedClaims = base64Url.encode(utf8.encode(json.encode(claims)));

final String signatureInput = '$encodedHeader.$encodedClaims';

// Use the crypto package to compute the Hmac SHA-256 hash
final hmac = Hmac(sha256, utf8.encode(apiSecret));
final Digest signature = hmac.convert(utf8.encode(signatureInput));
final String signatureBase64 = base64Url.encode(signature.bytes);

return '$signatureInput.$signatureBase64';

```

}  
onTap: ()async{  
var zoom = ZoomVideoSdk();  
InitConfig initConfig = InitConfig(  
appGroupId: “group.test.sdk”,//“29591”  
domain: “[zoom.us](http://zoom.us)”,  
enableLog: false,  
);  
await zoom.initSdk(initConfig);

```
                       //var eventListener = ZoomVideoSdkEventListener();

                       Map<String, bool> SDKaudioOptions = {
                         "connect": true,
                         "mute": true
                       };
                       Map<String, bool> SDKvideoOptions = {
                         "localVideoOn": true,
                       };
                       JoinSessionConfig joinSession = JoinSessionConfig(
                         sessionName:"71878749797",
                         //sessionPassword: "123",//await zoom.session.getSessionPassword(),//"KpmRyRft3osyOD3R1gKFElMEI4smjQ.1",
                         token: controller.sessionToken,
                         userName:"walid",// "displayName",
                         audioOptions: SDKaudioOptions,
                         videoOptions: SDKvideoOptions,
                         sessionIdleTimeoutMins: 20,
                       );
                       await zoom.joinSession(joinSession);

                     },

```

this is my code and when call JoinSessionConfig give me error NVALID PARAMETERS
