Swagger generation for Go language is failing

Description
When trying to use go-swagger to generate a client, it results in an error.
https://marketplace.zoom.us/docs/api-reference/zoom-api/Zoom%20API.oas2.json

Error
swagger generate client -f Zoom\ API.oas2.json --skip-validation --target $GOPATH/src2020/03/05 00:27:38 preprocessing spec with option: minimal flattening
2020/03/05 00:27:39 building a plan for generation
2020/03/05 00:27:39 generation target /home/srikanth/workspace/src
2020/03/05 00:27:39 planning definitions
2020/03/05 00:27:44 planning operations
2020/03/05 00:32:29 grouping operations into packages
2020/03/05 00:32:29 planning meta data and facades
2020/03/05 00:32:30 rendering 1 templates for model Account
2020/03/05 00:32:30 name field Account
2020/03/05 00:32:30 package field models
2020/03/05 00:32:30 creating generated file “account.go” in “/home/srikanth/workspace/src/models” as definition
2020/03/05 00:32:30 executed template asset:model
2020/03/05 00:32:30 rendering 1 templates for model AccountList
2020/03/05 00:32:30 name field AccountList
2020/03/05 00:32:30 package field models
2020/03/05 00:32:30 creating generated file “account_list.go” in “/home/srikanth/workspace/src/models” as definition
2020/03/05 00:32:30 executed template asset:model
2020/03/05 00:32:30 rendering 1 templates for model AccountListItem
2020/03/05 00:32:30 name field AccountListItem
2020/03/05 00:32:30 package field models
2020/03/05 00:32:30 creating generated file “account_list_item.go” in “/home/srikanth/workspace/src/models” as definition
2020/03/05 00:32:30 executed template asset:model
2020/03/05 00:32:30 rendering 1 templates for model AccountOptions
2020/03/05 00:32:30 name field AccountOptions
2020/03/05 00:32:30 package field models
2020/03/05 00:32:30 creating generated file “account_options.go” in “/home/srikanth/workspace/src/models” as definition
2020/03/05 00:32:30 executed template asset:model
2020/03/05 00:32:30 rendering 1 templates for model AccountPlan
2020/03/05 00:32:30 name field AccountPlan
2020/03/05 00:32:30 package field models
2020/03/05 00:32:30 creating generated file “account_plan.go” in “/home/srikanth/workspace/src/models” as definition
2020/03/05 00:32:30 executed template asset:model
2020/03/05 00:32:30 rendering 1 templates for model AccountPlanBaseRequired
2020/03/05 00:32:30 name field AccountPlanBaseRequired
2020/03/05 00:32:30 package field models
2020/03/05 00:32:30 creating generated file “account_plan_base_required.go” in “/home/srikanth/workspace/src/models” as definition
2020/03/05 00:32:30 executed template asset:model
2020/03/05 00:32:30 rendering 1 templates for model AccountPlanRequired
2020/03/05 00:32:30 name field AccountPlanRequired
2020/03/05 00:32:30 package field models
2020/03/05 00:32:30 creating generated file “account_plan_required.go” in “/home/srikanth/workspace/src/models” as definition
2020/03/05 00:32:30 executed template asset:model
2020/03/05 00:32:30 rendering 1 templates for model AccountPlans
2020/03/05 00:32:30 name field AccountPlans
2020/03/05 00:32:30 package field models
2020/03/05 00:32:30 creating generated file “account_plans.go” in “/home/srikanth/workspace/src/models” as definition
2020/03/05 00:32:30 executed template asset:model
2020/03/05 00:32:30 rendering 1 templates for model AccountSettings
2020/03/05 00:32:30 name field AccountSettings
2020/03/05 00:32:30 package field models
2020/03/05 00:32:30 creating generated file “account_settings.go” in “/home/srikanth/workspace/src/models” as definition
2020/03/05 00:32:30 executed template asset:model
2020/03/05 00:32:30 rendering 1 templates for model AccountSettingsAuthentication
2020/03/05 00:32:30 name field AccountSettingsAuthentication
2020/03/05 00:32:30 package field models
2020/03/05 00:32:30 creating generated file “account_settings_authentication.go” in “/home/srikanth/workspace/src/models” as definition
2020/03/05 00:32:30 executed template asset:model
2020/03/05 00:32:30 rendering 1 templates for model AccountSettingsAuthenticationUpdate
2020/03/05 00:32:30 name field AccountSettingsAuthenticationUpdate
2020/03/05 00:32:30 package field models
2020/03/05 00:32:30 creating generated file “account_settings_authentication_update.go” in “/home/srikanth/workspace/src/models” as definition
2020/03/05 00:32:30 executed template asset:model
2020/03/05 00:32:30 rendering 1 templates for model AccountSettingsEmailNotification
2020/03/05 00:32:30 name field AccountSettingsEmailNotification
2020/03/05 00:32:30 package field models
2020/03/05 00:32:30 creating generated file “account_settings_email_notification.go” in “/home/srikanth/workspace/src/models” as definition
2020/03/05 00:32:30 executed template asset:model
2020/03/05 00:32:30 rendering 1 templates for model AccountSettingsFeature
2020/03/05 00:32:30 name field AccountSettingsFeature
2020/03/05 00:32:30 package field models
2020/03/05 00:32:30 creating generated file “account_settings_feature.go” in “/home/srikanth/workspace/src/models” as definition
2020/03/05 00:32:30 executed template asset:model
2020/03/05 00:32:30 rendering 1 templates for model AccountSettingsInMeeting
2020/03/05 00:32:30 name field AccountSettingsInMeeting
2020/03/05 00:32:30 package field models
2020/03/05 00:32:30 creating generated file “account_settings_in_meeting.go” in “/home/srikanth/workspace/src/models” as definition
2020/03/05 00:32:30 executed template asset:model
2020/03/05 00:32:30 rendering 1 templates for model AccountSettingsIntegration
2020/03/05 00:32:30 name field AccountSettingsIntegration
2020/03/05 00:32:30 package field models
2020/03/05 00:32:30 creating generated file “account_settings_integration.go” in “/home/srikanth/workspace/src/models” as definition
2020/03/05 00:32:30 executed template asset:model
2020/03/05 00:32:30 rendering 1 templates for model AccountSettingsRecording
2020/03/05 00:32:30 name field AccountSettingsRecording
2020/03/05 00:32:30 package field models
2020/03/05 00:32:30 creating generated file “account_settings_recording.go” in “/home/srikanth/workspace/src/models” as definition
2020/03/05 00:32:30 executed template asset:model
2020/03/05 00:32:30 rendering 1 templates for model AccountSettingsRecordingAuthenticationUpdate
2020/03/05 00:32:30 name field AccountSettingsRecordingAuthenticationUpdate
2020/03/05 00:32:30 package field models
2020/03/05 00:32:30 creating generated file “account_settings_recording_authentication_update.go” in “/home/srikanth/workspace/src/models” as definition
2020/03/05 00:32:30 executed template asset:model
2020/03/05 00:32:30 rendering 1 templates for model AccountSettingsScheduleMeeting
2020/03/05 00:32:30 name field AccountSettingsScheduleMeeting
2020/03/05 00:32:30 package field models
2020/03/05 00:32:30 creating generated file “account_settings_schedule_meeting.go” in “/home/srikanth/workspace/src/models” as definition
2020/03/05 00:32:30 executed template asset:model
2020/03/05 00:32:30 rendering 1 templates for model AccountSettingsSecurity
2020/03/05 00:32:30 name field AccountSettingsSecurity
2020/03/05 00:32:30 package field models
2020/03/05 00:32:30 creating generated file “account_settings_security.go” in “/home/srikanth/workspace/src/models” as definition
2020/03/05 00:32:30 executed template asset:model
2020/03/05 00:32:30 rendering 1 templates for model AccountSettingsTSP
2020/03/05 00:32:30 name field AccountSettingsTSP
2020/03/05 00:32:30 package field models
2020/03/05 00:32:30 creating generated file “account_settings_t_s_p.go” in “/home/srikanth/workspace/src/models” as definition
2020/03/05 00:32:30 executed template asset:model
2020/03/05 00:32:30 rendering 1 templates for model AccountSettingsTelephony
2020/03/05 00:32:30 name field AccountSettingsTelephony
2020/03/05 00:32:30 package field models
2020/03/05 00:32:30 creating generated file “account_settings_telephony.go” in “/home/srikanth/workspace/src/models” as definition
2020/03/05 00:32:30 executed template asset:model
2020/03/05 00:32:30 rendering 1 templates for model AccountSettingsZoomRooms
2020/03/05 00:32:30 name field AccountSettingsZoomRooms
2020/03/05 00:32:30 package field models
2020/03/05 00:32:30 creating generated file “account_settings_zoom_rooms.go” in “/home/srikanth/workspace/src/models” as definition
2020/03/05 00:32:30 executed template asset:model
2020/03/05 00:32:30 rendering 1 templates for model BillingContact
2020/03/05 00:32:30 name field BillingContact
2020/03/05 00:32:30 package field models
2020/03/05 00:32:30 creating generated file “billing_contact.go” in “/home/srikanth/workspace/src/models” as definition
2020/03/05 00:32:30 executed template asset:model
2020/03/05 00:32:30 rendering 1 templates for model BillingContactRequired
2020/03/05 00:32:30 name field BillingContactRequired
2020/03/05 00:32:30 package field models
2020/03/05 00:32:30 creating generated file “billing_contact_required.go” in “/home/srikanth/workspace/src/models” as definition
2020/03/05 00:32:30 executed template asset:model
2020/03/05 00:32:30 rendering 1 templates for model Channel
2020/03/05 00:32:30 name field Channel
2020/03/05 00:32:30 package field models
2020/03/05 00:32:30 creating generated file “channel.go” in “/home/srikanth/workspace/src/models” as definition
2020/03/05 00:32:30 executed template asset:model
2020/03/05 00:32:30 rendering 1 templates for model CreateWebinarSettings
2020/03/05 00:32:30 name field CreateWebinarSettings
2020/03/05 00:32:30 package field models
2020/03/05 00:32:30 creating generated file “create_webinar_settings.go” in “/home/srikanth/workspace/src/models” as definition
2020/03/05 00:32:30 executed template asset:model
2020/03/05 00:32:30 rendering 1 templates for model CustomQuestion
2020/03/05 00:32:30 name field CustomQuestion
2020/03/05 00:32:30 package field models
2020/03/05 00:32:30 creating generated file “custom_question.go” in “/home/srikanth/workspace/src/models” as definition
2020/03/05 00:32:30 executed template asset:model
2020/03/05 00:32:30 rendering 1 templates for model DateTime
2020/03/05 00:32:30 name field DateTime
2020/03/05 00:32:30 package field models
2020/03/05 00:32:30 creating generated file “date_time.go” in “/home/srikanth/workspace/src/models” as definition
2020/03/05 00:32:30 executed template asset:model
2020/03/05 00:32:30 rendering 1 templates for model Device
2020/03/05 00:32:30 name field Device
2020/03/05 00:32:30 package field models
2020/03/05 00:32:30 creating generated file “device.go” in “/home/srikanth/workspace/src/models” as definition
2020/03/05 00:32:30 executed template asset:model
2020/03/05 00:32:30 rendering 1 templates for model DeviceList
2020/03/05 00:32:30 name field DeviceList
2020/03/05 00:32:30 package field models
2020/03/05 00:32:30 creating generated file “device_list.go” in “/home/srikanth/workspace/src/models” as definition
2020/03/05 00:32:30 executed template asset:model
2020/03/05 00:32:30 rendering 1 templates for model DomainsList
2020/03/05 00:32:30 name field DomainsList
2020/03/05 00:32:30 package field models
2020/03/05 00:32:30 creating generated file “domains_list.go” in “/home/srikanth/workspace/src/models” as definition
2020/03/05 00:32:30 executed template asset:model
2020/03/05 00:32:30 rendering 1 templates for model Group
2020/03/05 00:32:30 name field Group
2020/03/05 00:32:30 package field models
2020/03/05 00:32:30 creating generated file “group.go” in “/home/srikanth/workspace/src/models” as definition
2020/03/05 00:32:30 executed template asset:model
2020/03/05 00:32:30 rendering 1 templates for model GroupList
2020/03/05 00:32:30 name field GroupList
2020/03/05 00:32:30 package field models
2020/03/05 00:32:30 creating generated file “group_list.go” in “/home/srikanth/workspace/src/models” as definition
2020/03/05 00:32:30 executed template asset:model
2020/03/05 00:32:30 rendering 1 templates for model GroupMember
2020/03/05 00:32:30 name field GroupMember
2020/03/05 00:32:30 package field models
2020/03/05 00:32:30 creating generated file “group_member.go” in “/home/srikanth/workspace/src/models” as definition
2020/03/05 00:32:30 executed template asset:model
2020/03/05 00:32:30 rendering 1 templates for model GroupMemberList
2020/03/05 00:32:30 name field GroupMemberList
2020/03/05 00:32:30 package field models
2020/03/05 00:32:30 creating generated file “group_member_list.go” in “/home/srikanth/workspace/src/models” as definition
2020/03/05 00:32:30 executed template asset:model
2020/03/05 00:32:30 rendering 1 templates for model GroupUserSettingsAuthentication
2020/03/05 00:32:30 name field GroupUserSettingsAuthentication
2020/03/05 00:32:30 package field models
2020/03/05 00:32:30 creating generated file “group_user_settings_authentication.go” in “/home/srikanth/workspace/src/models” as definition
2020/03/05 00:32:30 executed template asset:model
2020/03/05 00:32:30 rendering 1 templates for model GroupUserSettingsAuthenticationUpdate
2020/03/05 00:32:30 name field GroupUserSettingsAuthenticationUpdate
2020/03/05 00:32:30 package field models
2020/03/05 00:32:30 creating generated file “group_user_settings_authentication_update.go” in “/home/srikanth/workspace/src/models” as definition
2020/03/05 00:32:30 executed template asset:model
2020/03/05 00:32:30 rendering 1 templates for model IMGroup
2020/03/05 00:32:30 name field IMGroup
2020/03/05 00:32:30 package field models
2020/03/05 00:32:30 creating generated file “i_m_group.go” in “/home/srikanth/workspace/src/models” as definition
2020/03/05 00:32:30 executed template asset:model
2020/03/05 00:32:30 rendering 1 templates for model IMGroupList
2020/03/05 00:32:30 name field IMGroupList
2020/03/05 00:32:30 package field models
2020/03/05 00:32:30 creating generated file “i_m_group_list.go” in “/home/srikanth/workspace/src/models” as definition
2020/03/05 00:32:30 executed template asset:model
2020/03/05 00:32:30 rendering 1 templates for model Meeting
2020/03/05 00:32:30 name field Meeting
2020/03/05 00:32:30 package field models
2020/03/05 00:32:30 creating generated file “meeting.go” in “/home/testapp /workspace/src/models” as definition
failed rendering template data for definition: template execution failed for template definition: template: schemavalidator:491:65: executing “schemavalidator” at <.>: wrong type for value; expected string; got float64

Which App Type (OAuth / Chatbot / JWT / Webhook)?
NA

Which Endpoint/s?
NA

How To Reproduce (If applicable)
Steps to reproduce the behavior:

  1. Run the below go-swagger command
    swagger generate client -f Zoom\ API.oas2.json --skip-validation --target $GOPATH/src
  2. You should see error like below
    failed rendering template data for definition: template execution failed for template definition: template: schemavalidator:491:65: executing “schemavalidator” at <.>: wrong type for value; expected string; got float64

Screenshots (If applicable)
If applicable, add screenshots to help explain your problem.

Additional context
Add any other context about the problem here.

Hey @shanagud, thanks for posting and using Zoom!

Can you try this:

Thanks,
Tommy

Hi Tommy,

Thanks, but that doesn’t help. The one you shared is for C#, and the google drive doesn’t have the client library for Golang.
We still get errors when trying to use go-swagger for generating the client library.

Thanks
Sri

Hey @shanagud,

Thanks for trying that. We will work on fixing the errors.

-Tommy

Hey everyone,

Recently we launched Zoom Rivet for Node.js. Zoom Rivet is Zoom’s Official API Library and API Wrapper.

We currently support Node.js. Java, Python, GO, C#, and other languages are coming soon or being considered.

Zoom Rivet is available on npm and can be used to automatically handle OAuth and easily call Zoom APIs like Meetings, Phone, Users, Team Chat, Chatbot, Accounts, Video SDK, and more. It even includes a Webhook server to easily receive Zoom Webhooks.

npm install @zoom/rivet

Example that handles OAuth and calls a Meeting API and listens to a webhook event:

import { MeetingsS2SAuthClient } from "@zoom/rivet/meetings";

(async () => {
   const meetingsClient = new MeetingsS2SAuthClient({
      clientId: process.env.CLIENT_ID,
      clientSecret: process.env.CLIENT_SECRET,
      webhooksSecretToken: process.env.WEBHOOKS_SECRET_TOKEN,
      accountId: process.env.ACCOUNT_ID
   });

   // Rivet Events and Endpoints Go Here

   meetingsClient.endpoints.meetings.getMeeting({
      path: { meetingId: "MEETINGID" }
   }).then((response) => {
      console.log(response)
   });

   meetingsClient.webEventConsumer.event("meeting.started", (response) => {
      console.log(response.payload);
   })

   const server = await meetingsClient.start();

   console.log(`Zoom Rivet Events Server running on: ${JSON.stringify(server.address())}`);
})();

NPM:

Docs:

Sample App:

For feedback, requests, or questions please refer to the Rivet Devforum Category:

Best,
Tommy