'username non può essere vuoto' durante l'impostazione dell'argomento del webinar Zoom

Ciao Penar, grazie per il fantastico plugin, sarà davvero utile! L’ho appena provato e la configurazione è andata a buon fine. Ho notato alcune problematiche:

  • Quando creo un argomento con il webinar, ricevo questo errore, ma se aggiorno la pagina l’argomento viene creato e tutto sembra funzionare correttamente.

Nei log trovo questo:

/var/www/discourse/plugins/discourse-zoom/app/jobs/scheduled/send_webinar_reminders.rb:18:in `block (2 levels) in execute'
activerecord-6.0.1/lib/active_record/relation/delegation.rb:85:in `each'
activerecord-6.0.1/lib/active_record/relation/delegation.rb:85:in `each'
/var/www/discourse/plugins/discourse-zoom/app/jobs/scheduled/send_webinar_reminders.rb:12:in `block in execute'
activerecord-6.0.1/lib/active_record/relation/delegation.rb:85:in `each'
activerecord-6.0.1/lib/active_record/relation/delegation.rb:85:in `each'
/var/www/discourse/plugins/discourse-zoom/app/jobs/scheduled/send_webinar_reminders.rb:11:in `execute'
/var/www/discourse/app/jobs/base.rb:232:in `block (2 levels) in perform'
rails_multisite-2.1.1/lib/rails_multisite/connection_management.rb:64:in `with_connection'
/var/www/discourse/app/jobs/base.rb:221:in `block in perform'
/var/www/discourse/app/jobs/base.rb:217:in `each'
/var/www/discourse/app/jobs/base.rb:217:in `perform'
/var/www/discourse/app/jobs/base.rb:279:in `perform'
mini_scheduler-0.12.2/lib/mini_scheduler/manager.rb:86:in `process_queue'
mini_scheduler-0.12.2/lib/mini_scheduler/manager.rb:36:in `block (2 levels) in initialize'
  • Il problema principale è che non vedo il pulsante “Unisciti” quando la riunione è in diretta:

  • Per tua informazione, lo sfondo del conto alla rovescia non segue il tema; ho dovuto modificarlo per adattarlo al mio tema scuro, dato che era semplicemente bianco:
.webinar-header .countdown .pill {
    background: #485769;
}

Una domanda: quando qualcuno si registra, riceverà solo una notifica sul sito e nessuna email? Oppure riceverà un’email se non è attualmente sul sito?

Grazie!

Grazie David,

Hai completato i passaggi per l’iscrizione all’evento? Si tratta di un webhook dall’API di Zoom, ed è utilizzato per cambiare il pulsante “Registrati” in un pulsante “Unisciti ora” non appena l’evento inizia.

Riceveranno un messaggio privato (PM), il che significa che riceveranno un’email se le loro impostazioni sono configurate in modo che i PM inviino loro email.

Esaminerò gli altri due problemi a breve.

Ho fatto tutto questo. Probabilmente è una domanda stupida, ma sotto content security policy script src hai https://source.zoom.us; è previsto che source venga sostituito con qualcos’altro? Forse il nome dell’app?

Hmm. E hai spuntato tutte le caselle nella scheda webinar? Dovrebbe apparire così:

No, va bene così, in ogni caso la tua configurazione non ha ancora raggiunto quella schermata.

Sì, li ho controllati. Qual è l’URL dell’endpoint di notifica eventi che devo inserire nell’app?

Dovrebbe essere https://yoursite.com/zoom/webhooks/webinars.json — vedo che nelle mie istruzioni sopra non è incluso questo dettaglio, mi scuso per l’omissione. Spero che questo sia il tassello mancante.

Ci siamo! Grazie!

Non sono stato molto chiaro: per chiarezza, sto ancora riscontrando il problema dell’errore “Username, ecc. non può essere vuoto”, ma ora non ci sono voci nei log; tutto il resto funziona correttamente.

Ho analizzato questo problema, @davidkingham: sembra che il webinar che stai creando su Zoom non abbia un host, oppure l’API non restituisce i dettagli relativi all’host. Il plugin tenta di associare l’account utente di Zoom (tramite email) a un account Discourse; se non trova un account corrispondente, crea un utente in stato di “bozza” su Discourse.

O il tuo webinar non ha un host impostato, oppure la chiamata API per ottenere l’oggetto utente dell’host restituisce un risultato vuoto.

Ha senso, stavo usando un indirizzo email diverso per ciascuno. Ho modificato l’email su Zoom per farla corrispondere al mio utente su Discourse. Questo ha risolto il problema della visualizzazione dei prossimi webinar nell’elenco quando si aggiunge un webinar a un argomento, cosa che prima non avveniva, ma ricevo ancora l’errore ...non può essere vuoto. L’email deve corrispondere all’utente che crea l’argomento o all’email dell’amministratore?

Inoltre, se elimino l’argomento per riprovare, non mi permette di aggiungere quel webinar a un altro argomento perché pensa che il webinar sia già associato a un altro argomento, anche se è stato eliminato.

Mi chiedo se stiate ricevendo una risposta email da Zoom per l’utente. Forse la chiave API non ha le autorizzazioni (scopes) corrette impostate?

Questa è la chiamata API che penso non stia restituendo dati: https://marketplace.zoom.us/docs/api-reference/zoom-api/users/user (o forse lo stato del tuo utente è pending?)

Sì, confermato. Potrebbe esserci una correzione in arrivo a breve; per il momento, puoi andare all’argomento eliminato e, dal menu amministratore dell’argomento, fare clic su Rimuovi webinar.

Ecco il registro delle chiamate quando ricevo l’errore; sembra che abbia raggiunto il limite di richieste al secondo

{
endpoint: "https://api.zoom.us/v2/users/VI4TWwOvT-SKaycEEMws8w",
response_headers: [
"Set-Cookie: cred=73B256F7AFD1CC7FEA83613B92876F28; Path=/; Secure; HttpOnly"
],
date_time: "2020-03-25 11:42:17",
method: "GET",
request_body: "N/A",
response: {
code: 429,
message: "Hai raggiunto il limite massimo di richieste al secondo per questa API. Riprova più tardi."
},
request_headers: [
"authorization: ******",
"connection: close"
],
request_params: [
],
http_status: "429"
}

È piuttosto restrittivo… Per quanto ne so, vengono effettuate solo 2 chiamate API: una per ottenere il webinar e l’altra per i dettagli del relatore (in realtà, in un mondo ideale, i dettagli del relatore avrebbero dovuto essere inclusi nella prima chiamata API).

Potresti provare a segnalarlo nel forum per sviluppatori di Zoom.

Ho posto la domanda qui, dato che, in base ad altre domande, non ho molta fiducia che possano essere d’aiuto.

Una piccola suggerimento per il plugin: vorrei vedere l’elenco dei relatori visualizzato come quello dell’host, ovvero con l’avatar sotto il titolo e il nome accanto. Al momento il relatore non è molto evidente, avendo solo l’avatar piccolo.