# errorCode: 3008, errorMessage: "Please init meeting first!"

**URL:** <https://devforum.zoom.us/t/errorcode-3008-errormessage-please-init-meeting-first/4488>\
**Category:** Web\
**Created:** [June 3, 2019, 11:39am UTC](https://devforum.zoom.us/t/errorcode-3008-errormessage-please-init-meeting-first/4488 "2019-06-03T11:39:18Z")\
**Posts on this page:** 19\
**Page:** 1

<div class="post-metadata">

**Author:** ![shahankit2313](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/shahankit2313/32/1007_2.png) [@shahankit2313](https://devforum.zoom.us/u/shahankit2313)\
**Post date:** [June 3, 2019, 11:39am UTC](https://devforum.zoom.us/t/errorcode-3008-errormessage-please-init-meeting-first/4488/1 "2019-06-03T11:39:18Z")

</div>

I tried using the `zoomus-jssdk` package in my app and use the demo code shown in tutorials.

```auto
import React, { Component } from 'react';
import { ZoomMtg } from 'zoomus-jssdk';

const API_KEY = '<API_KEY>';
const API_SECRET = '<API_SECRET>';

ZoomMtg.setZoomJSLib('https://dmogdx0jrul3u.cloudfront.net/1.4.2/lib', '/av');
ZoomMtg.preLoadWasm();
ZoomMtg.prepareJssdk();

export default class ZoomLive extends Component {
  componentDidMount() {
    const meetConfig = {
      apiKey: API_KEY,
      apiSecret: API_SECRET,
      meetingNumber:,
      userName: 'Test user',
      passWord: '',
      leaveUrl: 'https://zoom.us',
      role: 0
    };

    ZoomMtg.generateSignature({
      meetingNumber: meetConfig.meetingNumber,
      apiKey: meetConfig.apiKey,
      apiSecret: meetConfig.apiSecret,
      role: meetConfig.role,
      success(res) {
        console.log('signature', res.result);
        ZoomMtg.init({
          leaveUrl: 'http://www.zoom.us',
          isSupportAV: true,
          success() {
            ZoomMtg.join({
              meetingNumber: meetConfig.meetingNumber,
              userName: meetConfig.userName,
              signature: res.result,
              apiKey: meetConfig.apiKey,
              userEmail: 'email@gmail.com',
              passWord: meetConfig.passWord,
              success() {
                console.log('join meeting success');
              },
              error(res) {
                console.log(res);
              }
            });
          },
          error(res) {
            console.log(res);
          }
        });
      }
    });
  }

  render() {
    return 'Loading';
  }
}

```

But keep getting error in ZoomMtg.join function. I tried the same api keys and secret in sample-web-app here ([GitHub - zoom/sample-app-web: Zoom Web SDK Sample App](https://github.com/zoom/sample-app-web)) and that seemed to work, so there doesn’t seem to be issue with my account configuration. As the code is minified I’m not able to debug much, but seems like the meeting status of object is set to empty here: `if ('init' !== oe.currentMeetingInfo.status)`.

---

<div class="post-metadata">

**Author:** ![tommy](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/tommy/32/72769_2.png) [@tommy](https://devforum.zoom.us/u/tommy)\
**Post date:** [June 3, 2019, 3:51pm UTC](https://devforum.zoom.us/t/errorcode-3008-errormessage-please-init-meeting-first/4488/2 "2019-06-03T15:51:50Z")

</div>

Hey @shahankit2313,

Are you init-ing the meeting first? Check out this: [https://zoom.github.io/sample-app-web/ZoomMtg.html#init](https://zoom.github.io/sample-app-web/ZoomMtg.html#init)

Let me know if that helps

---

<div class="post-metadata">

**Author:** ![shahankit2313](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/shahankit2313/32/1007_2.png) [@shahankit2313](https://devforum.zoom.us/u/shahankit2313)\
**Post date:** [June 3, 2019, 4:06pm UTC](https://devforum.zoom.us/t/errorcode-3008-errormessage-please-init-meeting-first/4488/3 "2019-06-03T16:06:36Z")

</div>

Yup I’m using the exact same code as in sample.

```auto
ZoomMtg.generateSignature({
  ...
  success(res) {
    ZoomMtg.init({
      ...
      success() {
        ZoomMtg.join({
          ...
          success() {
            console.log('join meeting success');
          },
          error(res) {
            console.log('join meeting error', res);
          }
        });
      },
      error(res) {
        console.log(res);
      }
    });
  }
});

```

---

<div class="post-metadata">

**Author:** ![tommy](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/tommy/32/72769_2.png) [@tommy](https://devforum.zoom.us/u/tommy)\
**Post date:** [June 3, 2019, 7:46pm UTC](https://devforum.zoom.us/t/errorcode-3008-errormessage-please-init-meeting-first/4488/4 "2019-06-03T19:46:00Z")

</div>

Hey @shahankit2313

I found the issue,

Place these two lines above your `meetConfig` declaration

```auto
ZoomMtg.preLoadWasm();
ZoomMtg.prepareJssdk();

```

This should fix the “Please init meeting” error, but it’s possible another error could arise: “The account don’t enable API.” Which we are working on fixing.

Let me know if this fixes the “Please init meeting” error 🙂

---

<div class="post-metadata">

**Author:** ![shahankit2313](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/shahankit2313/32/1007_2.png) [@shahankit2313](https://devforum.zoom.us/u/shahankit2313)\
**Post date:** [June 4, 2019, 10:16am UTC](https://devforum.zoom.us/t/errorcode-3008-errormessage-please-init-meeting-first/4488/5 "2019-06-04T10:16:05Z")

</div>

> [@tommy](#):
>
> ZoomMtg.preLoadWasm(); ZoomMtg.prepareJssdk();

Hi @tommy ,

I had already added these two lines, but still getting the error. I updated the post with entire contents of file. Also I don’t think I would get account dont’t enable APIs because I tried scheduling a meeting from my account and use the meeting in the sample web app on github and it worked fine.

---

<div class="post-metadata">

**Author:** ![ojus.zoom](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/ojus.zoom/32/734_2.png) [@ojus.zoom](https://devforum.zoom.us/u/ojus.zoom)\
**Post date:** [June 4, 2019, 11:16pm UTC](https://devforum.zoom.us/t/errorcode-3008-errormessage-please-init-meeting-first/4488/6 "2019-06-04T23:16:26Z")

</div>

Hi @shahankit2313,

I am trying to reproduce your error. I will update you shortly.

Thanks!

---

<div class="post-metadata">

**Author:** ![shahankit2313](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/shahankit2313/32/1007_2.png) [@shahankit2313](https://devforum.zoom.us/u/shahankit2313)\
**Post date:** [June 7, 2019, 8:37am UTC](https://devforum.zoom.us/t/errorcode-3008-errormessage-please-init-meeting-first/4488/7 "2019-06-07T08:37:20Z")

</div>

@ojus.zoom any updates? I’m still facing this issue.

---

<div class="post-metadata">

**Author:** ![ojus.zoom](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/ojus.zoom/32/734_2.png) [@ojus.zoom](https://devforum.zoom.us/u/ojus.zoom)\
**Post date:** [June 10, 2019, 11:20pm UTC](https://devforum.zoom.us/t/errorcode-3008-errormessage-please-init-meeting-first/4488/8 "2019-06-10T23:20:43Z")

</div>

@shahankit2313, we are working with our engineering team to resolve your issue.

I will respond to you once I get an update from the team. Thank you for the patience and sorry for the inconvenience caused.

Thanks.

---

<div class="post-metadata">

**Author:** ![tommy](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/tommy/32/72769_2.png) [@tommy](https://devforum.zoom.us/u/tommy)\
**Post date:** [July 15, 2019, 7:36pm UTC](https://devforum.zoom.us/t/errorcode-3008-errormessage-please-init-meeting-first/4488/9 "2019-07-15T19:36:39Z")

</div>

Hey @shahankit2313,

Are you using SDK or JWT API\_KEY and API\_SECRET? Try using JWT credentials if you have not already.

Also, you must have a Pro or Free trail zoom account to use the JS SDK. [https://zoom.us/pricing](https://zoom.us/pricing)

Let me know if this helps,  
Thanks

---

<div class="post-metadata">

**Author:** ![jozo.kovac](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/jozo.kovac/32/1438_2.png) [@jozo.kovac](https://devforum.zoom.us/u/jozo.kovac)\
**Post date:** [July 31, 2019, 11:01pm UTC](https://devforum.zoom.us/t/errorcode-3008-errormessage-please-init-meeting-first/4488/10 "2019-07-31T23:01:42Z")

</div>

The same issue in VueJS with zoom-jssdk 1.5.0.  
I’ve got keys from pro account and they work well in the sample app.

My code and also [https://github.com/xinton/vue-zoomus-jssdk-sample](https://github.com/xinton/vue-zoomus-jssdk-sample) Vue example always returns:  
{method: “init”, status: false, errorCode: 3008, errorMessage: “Please init meeting first!”, result: null}

Both signature and init calls are successful. Role (0/1) doesn’t matter.

---

<div class="post-metadata">

**Author:** ![tommy](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/tommy/32/72769_2.png) [@tommy](https://devforum.zoom.us/u/tommy)\
**Post date:** [August 1, 2019, 5:13pm UTC](https://devforum.zoom.us/t/errorcode-3008-errormessage-please-init-meeting-first/4488/11 "2019-08-01T17:13:03Z")

</div>

Hey @jozo.kovac,

When trying to run `npm run serve` to start your project I get this syntax error,

```auto
Syntax Error: SyntaxError: /Users/tommygaessler/Code/vue-zoomus-jssdk-sample/src/components/ZoomFrame.vue: Unexpected token, expected "}" (32:6)

  30 |
  31 | export default {
> 32 | name: "ZoomFrame",
     | ^
  33 | data: function() {
  34 | return {
  35 | src: "",

```

Please fix this so I can debug why you are getting the `Please init meeting first` error.

Thanks,  
Tommy

---

<div class="post-metadata">

**Author:** ![jozo.kovac](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/jozo.kovac/32/1438_2.png) [@jozo.kovac](https://devforum.zoom.us/u/jozo.kovac)\
**Post date:** [August 3, 2019, 11:27am UTC](https://devforum.zoom.us/t/errorcode-3008-errormessage-please-init-meeting-first/4488/12 "2019-08-03T11:27:19Z")

</div>

Thanks for your efforts, it’s very appreciated.

It’s not my repo, I just hope it’s supposed to work well. I’ve tried various things and the results in VueJS are always the same: 3008.

There are 2 lines just above ‘export default {’  
var API\_KEY = \<API\_KEY\>;  
var API\_SECRET = \<API\_SECRET\>;

Just replace \<…\> them with real credentials “…”.  
There’s also an issue with jQuery dependency that can be resolved with “npm install --save jQuery” (± some other dependencies)

Ultimately it works well but shows 3008 error. The same key + secret + meeting id work well in the official sample web app. Official is pure JS and I hope we can make it work in Vue as well.

 ![image](https://us1.discourse-cdn.com/flex016/uploads/zoomdeveloper/original/2X/7/75aae06ac7f13c4679727a0b4b3e2dbc17f66a69.png)

---

<div class="post-metadata">

**Author:** ![jozo.kovac](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/jozo.kovac/32/1438_2.png) [@jozo.kovac](https://devforum.zoom.us/u/jozo.kovac)\
**Post date:** [August 3, 2019, 8:08pm UTC](https://devforum.zoom.us/t/errorcode-3008-errormessage-please-init-meeting-first/4488/13 "2019-08-03T20:08:08Z")

</div>

I’ve finally fixed it. It was an issue with jQuery.

Steps to reproduce if anybody would be interested:

1. Remove script tag that loads external jquery in public/index.html
2. Add a line line to main.js just above new Vue:  
window.$ = require(‘jQuery’)

---

<div class="post-metadata">

**Author:** ![tommy](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/tommy/32/72769_2.png) [@tommy](https://devforum.zoom.us/u/tommy)\
**Post date:** [August 5, 2019, 3:41pm UTC](https://devforum.zoom.us/t/errorcode-3008-errormessage-please-init-meeting-first/4488/14 "2019-08-05T15:41:00Z")

</div>

Hey @jozo.kovac,

Glad to hear your issues was fixed!

Thanks for posting the solution! 🙂

Let us know if we can help with anything else!

Thanks,  
Tommy

---

<div class="post-metadata">

**Author:** ![kamal](https://avatars.discourse-cdn.com/v4/letter/k/a698b9/32.png) [@kamal](https://devforum.zoom.us/u/kamal)\
**Post date:** [August 9, 2019, 11:23am UTC](https://devforum.zoom.us/t/errorcode-3008-errormessage-please-init-meeting-first/4488/15 "2019-08-09T11:23:12Z")

</div>

Hi Tommy, why does the sdk need jQuery, which is deprecated and hence a bit hard to use in production?  
Kamal

---

<div class="post-metadata">

**Author:** ![tommy](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/tommy/32/72769_2.png) [@tommy](https://devforum.zoom.us/u/tommy)\
**Post date:** [August 9, 2019, 4:26pm UTC](https://devforum.zoom.us/t/errorcode-3008-errormessage-please-init-meeting-first/4488/16 "2019-08-09T16:26:40Z")

</div>

Hey @kamal,

jQuery is not deprecated. I will talk to the team about how we can remove jQuery as a dependency.

Thanks,  
Tommy

---

<div class="post-metadata">

**Author:** ![mamta.dhaka](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/mamta.dhaka/32/1565_2.png) [@mamta.dhaka](https://devforum.zoom.us/u/mamta.dhaka)\
**Post date:** [May 5, 2020, 9:05am UTC](https://devforum.zoom.us/t/errorcode-3008-errormessage-please-init-meeting-first/4488/17 "2020-05-05T09:05:03Z")

</div>

{method: “init”, status: false, errorCode: 3008, errorMessage: “Please init meeting first!”, result: null}

@tommy I have 2 instances for zoom meeting, caller and participant, i am initiating and joining the meeting in one component and trying to join without initiating in another, if i dont init in another component then i get above error, if I init the meeting then i get an error say your connection is lost ( Joining meeting timeout.

Your connection has timed out and you cannot join the meeting. Verify your network connectivity and try again.), could someone plz help in the same.

---

<div class="post-metadata">

**Author:** ![michael\_p.zoom](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/michael_p.zoom/32/18105_2.png) [@michael\_p.zoom](https://devforum.zoom.us/u/michael_p.zoom)\
**Post date:** [May 10, 2020, 10:58pm UTC](https://devforum.zoom.us/t/errorcode-3008-errormessage-please-init-meeting-first/4488/18 "2020-05-10T22:58:58Z")

</div>

Hi @mamta.dhaka,

You will need to call the ZoomMtg.init function first and then ZoomMtg.init within the init function. Without doing so, you will receive the error.

Thanks

---

<div class="post-metadata">

**Author:** ![DeveloperBot](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/developerbot/32/12632_2.png) [@DeveloperBot](https://devforum.zoom.us/u/DeveloperBot)\
**Post date:** [August 21, 2020, 9:08pm UTC](https://devforum.zoom.us/t/errorcode-3008-errormessage-please-init-meeting-first/4488/19 "2020-08-21T21:08:13Z")

</div>


