Feed
Un feed è un dato di terze parti che screenRIG recupera e memorizza nella cache, come meteo, allerte, tariffe e titoli. feeds get legge un documento feed, lo stesso documento che una scheda integrata con gli stessi parametri legge. Il comando non chiama mai un fornitore terzo.
feeds get#
Leggi un feed una volta. Un feed senza documento risponde pending e il suo tempo di ritentativo.
feeds get <family> [--lat DEGREES --lon DEGREES] [--radius-km KM] [--min-magnitude N] [--hours N]
[--basins LIST] [--base CODE] [--symbols IDS] [--currency CODE] [--url URL]...
[--station ID] [--country CODE] [--category drug|food] [--region NAME] [--date YYYY-MM-DD]
[--provider tfl|entur|digitransit] [--stops IDS] [--system ID]
[--public] [--geocode NAME:VALUE]... [--min-severity LEVEL] [--max-severity LEVEL]
[--min-urgency LEVEL] [--min-certainty LEVEL] [--event NAME]... [--exclude-event NAME]...
[--sender NAME]... [--status STATUS]... [--scope SCOPE]... [--language TAG]...
[--area-unknown hide|show]| Parametro | Tipo | Obbligatorio | Predefinito | Note |
|---|---|---|---|---|
<family> | string | sì | nessuno | weather, airquality, alerts, rates, crypto, earthquakes, cyclones, headlines, cap, tides, launches, drugalerts, respiratory, almanac, outdoorsafety, departures o bikeshare. |
--lat DEGREES | number | per famiglia | nessuno | Latitudine, da -90 a 90, con --lon. Obbligatoria per weather, airquality, alerts, earthquakes, outdoorsafety e bikeshare; facoltativa per cyclones, cap, tides e almanac. |
--lon DEGREES | number | per famiglia | nessuno | Longitudine, da -180 a 180, con --lat. |
--radius-km KM | number | no | 500 per earthquakes | earthquakes raggio, o l’area cyclones, da 10 a 20000 km. Richiede --lat e --lon. |
--min-magnitude MAGNITUDE | number | no | 2.5 | earthquakes: magnitudo minima, da 0 a 9. |
--hours HOURS | number | no | 24 | earthquakes: finestra in ore, da 1 a 168. |
--basins LIST | string | no | tutti i bacini | cyclones: bacini separati da virgola at, ep, cp, wp. |
--base CODE | string | no | EUR | rates: valuta base. |
--symbols IDS | string | sì, per crypto | nessuno | ID o ticker crypto separati da virgola, massimo 20. |
--currency CODE | string | no | usd | crypto: valuta di riferimento. |
--station ID | string | no | nessuno | tides: un ID di stazione di previsione delle maree NOAA, di sette lettere o cifre, come 9414290. Senza di esso, --lat e --lon scelgono la stazione più vicina entro 100 km. |
--country CODE | string | per famiglia | nessuno | drugalerts: us, ca o gb (obbligatorio). respiratory: us o gb (obbligatorio). almanac: il paese ISO 3166-1 di cui elenca le festività. |
--category CATEGORY | string | no | drug | drugalerts: drug o food. |
--region NAME | string | no | l’intero paese | respiratory: uno stato, territorio o DC degli Stati Uniti per nome o sigla postale, oppure l’Inghilterra o una regione UKHSA, al massimo 48 caratteri. |
--date YYYY-MM-DD | string | no | i giorni intorno a oggi | almanac: un giorno fisso. |
--provider PROVIDER | string | sì, per departures | nessuno | departures: il fornitore di trasporto delle fermate, tfl, entur o digitransit. |
--stops IDS | string | sì, per departures | nessuno | departures: da uno a quattro ID di fermata del fornitore, separati da virgole, come l’ID StopPoint di TfL 940GZZLUOXC, gli ID Entur NSR:StopPlace:337 e NSR:Quay:568 o il gtfsId Digitransit HSL:1040129. |
--system ID | string | no | il sistema più vicino | bikeshare: un ID di sistema di bike sharing, come Mobibikes_CA_Vancouver. Senza di esso, serve il sistema elencato più vicino che copre --lat e --lon. |
--url URL | string | sì, per headlines | nessuno | headlines: URL di feed RSS o Atom. cap: URL indice CAP alert o ATOM/RSS; ripetilo, massimo 5 volte. |
--public | boolean | no | acceso senza --url | cap: legge anche i feed pubblici di alert che coprono --lat e --lon. Richiede --lat e --lon. |
--geocode NAME:VALUE | string | no | nessuno | cap: un codice area della posizione, come UGC:WAC033. Ripetibile. Richiede --lat e --lon. |
--min-severity LEVEL | string | no | nessuno | cap: solo alert a o sopra minor, moderate, severe o extreme. |
--max-severity LEVEL | string | no | nessuno | cap: solo alert a o sotto minor, moderate, severe o extreme. |
--min-urgency LEVEL | string | no | nessuno | cap: solo alert almeno così urgenti: past, future, expected o immediate. |
--min-certainty LEVEL | string | no | nessuno | cap: solo alert almeno così certi: unlikely, possible, likely o observed. |
--event NAME | string | no | qualsiasi evento | cap: solo questo evento; * corrisponde a qualsiasi sequenza di caratteri. Ripetibile. |
--exclude-event NAME | string | no | nessuno | cap: escludi questo evento. Ripetibile. |
--sender NAME | string | no | qualsiasi mittente | cap: solo alert da questo mittente. Ripetibile. |
--status STATUS | string | no | Actual | cap: stato alert da leggere: Actual, Exercise, Test o System. Ripetibile. |
--scope SCOPE | string | no | Public | cap: ambito alert da leggere: Public, Restricted o Private. Ripetibile. |
--language TAG | string | no | en per almanac | cap: preferenza di lingua; vale la prima presente. Ripetibile. almanac: l’edizione di «On This Day», una tra ar, bs, cs, de, en, es, fr, it, pt, ru, sv, tr, uk o zh. |
--area-unknown MODE | string | no | hide | cap: un alert segnalato solo da codici area che la posizione non ha: hide o show. |
screenrig feeds get weather --lat 49.25 --lon -123
screenrig feeds get rates --base EUR
screenrig feeds get crypto --symbols btc,eth --currency usd
screenrig feeds get earthquakes --lat 49.25 --lon -123 --radius-km 500 --min-magnitude 4 --hours 72
screenrig feeds get cyclones --basins at,ep
screenrig feeds get headlines --url https://example.com/news.xml
screenrig feeds get cap --lat 49.25 --lon -123 --geocode UGC:WAC033 --min-severity moderate --event '*warning'
screenrig feeds get cap --url https://example.com/alerts.atom --url https://example.com/other.xml
screenrig feeds get tides --station 9414290
screenrig feeds get drugalerts --country us --category food
screenrig feeds get respiratory --country us --region California
screenrig feeds get almanac --country CA --date 2026-12-25
screenrig feeds get departures --provider tfl --stops 940GZZLUOXC
screenrig feeds get bikeshare --lat 49.25 --lon -123
screenrig feeds get launchesweather, airquality, alerts, earthquakes, outdoorsafety e bikeshare richiedono --lat e --lon, che vanno sempre insieme; earthquakes accetta anche --radius-km, --min-magnitude e --hours, e bikeshare accetta --system. cyclones accetta --basins, e con --lat, --lon e --radius-km insieme, solo le tempeste vicine a quel luogo. rates accetta --base, crypto richiede --symbols e accetta --currency, e headlines richiede --url. tides richiede --station, oppure --lat e --lon per la stazione di previsione più vicina. drugalerts richiede --country e accetta --category, respiratory richiede --country e accetta --region, e almanac accetta --country, --language, --lat, --lon e --date. departures richiede --provider e --stops, e launches non accetta flag. Un flag che la famiglia non accetta viene rifiutato. Schede integrate descrive i dati di ogni famiglia.
cap legge gli avvisi CAP che corrispondono a un luogo. Richiede --url (ripetibile, fino a 5 URL di avvisi CAP o indici ATOM/RSS) o --lat e --lon, che leggono i feed pubblici che coprono la posizione; --public aggiunge quei feed pubblici alle fonti --url. Le flag del filtro rispecchiano i membri di un oggetto triggers create --pull.
Un documento in cache risponde 200 con fetchedAt e attribution: mostra l’attribuzione ovunque i dati la mostrino. Senza documento l’involucro riporta stato pending, retry_after_seconds e retry_at con uscita 0; il CLI non ripete, quindi esegui di nuovo il comando dopo retry_at. Un’organizzazione registra al massimo 50 nuove chiavi feed al giorno, e rate_limited segue oltre. Le schede derivano le chiavi feed da parametri statici; non scrivere tu stesso chiavi feed o feed:.
Origini dati
Un’origine dati legge un indirizzo esterno secondo una pianificazione e scrive il risultato nei dati di una scheda, così la scheda resta aggiornata senza che nessuno ripubblichi e gli schermi recuperano di nuovo il documento quando cambia. I tipi sono ics, sheets, csv, json, microsoft365, google_calendar, square, shopify, toast e momentus. Un’origine scrive una scheda, e un’organizzazione ne ha fino a 200 in tutti i suoi progetti. Una sincronizzazione che fallisce non scrive mai: la scheda conserva il suo ultimo documento valido e lo stato dell’origine mostra l’errore. Le impostazioni di ogni tipo, i codici di stato e le regole di privacy sono in Origini dati.
Un preset è un’origine json già pronta e testata per un servizio, come un canale Slack, una bacheca di offerte di lavoro o una bacheca delle build: source presets li elenca, source presets NAME mostra i campi e i segreti di un preset e source create --preset NAME crea l’origine.
Dai ogni credenziale come --secret NAME=@FILE, o NAME=- per lo stdin, così resta fuori dalla cronologia della shell e dall’elenco dei processi. I segreti sono memorizzati sigillati e restituiti solo come indizio mascherato. I nomi dei segreti sono calendar_url.KEY per ics (uno per calendario), token per un indirizzo csv o json che ne richiede uno (password, client_secret, header.NAME e query.NAME servono agli altri modi di accedere, descritti in Richieste, accesso e pagine), client_secret per microsoft365 e toast, service_account_key per google_calendar, access_token per square e shopify, api_key e api_secret per momentus, e client_secret con l’impostazione client_id per un’app shopify installata nel negozio.
--settings accetta l’intero oggetto delle impostazioni dell’origine come JSON, @FILE o -. --set KEY=VALUE imposta un membro di primo livello e si può ripetere; il valore è JSON quando si può interpretare (days=14, calendars='[{"key":"lobby"}]') e testo altrimenti (time_zone=America/Vancouver). Con entrambi, i membri di --set sostituiscono gli stessi membri di --settings; source update con solo --set modifica quei membri delle impostazioni salvate. L’opzione --config della CLI indica il suo file di credenziali e non ha nulla a che fare con le origini.
source list#
Elenca le origini dati del progetto, le più recenti per prime, con il loro stato.
source list [--after CURSOR]| Parametro | Tipo | Obbligatorio | Predefinito | Note |
|---|---|---|---|---|
--after CURSOR | string | no | prima pagina | Il data.next_cursor della pagina precedente. |
screenrig source listsource show#
Ispeziona un’origine: le sue impostazioni, i segreti mascherati, l’ultima esecuzione e l’ultimo errore.
source show <source_id>| Parametro | Tipo | Obbligatorio | Predefinito | Note |
|---|---|---|---|---|
<source_id> | string | sì | nessuno | L’origine (src_…). |
screenrig source show src_01EXAMPLESOURCE000000source presets#
Elenca i preset di origine già pronti, oppure mostrane uno con i suoi campi, i suoi segreti e come ottenerli.
source presets [<name>]| Parametro | Tipo | Obbligatorio | Predefinito | Note |
|---|---|---|---|---|
<name> | string | no | ogni preset | Il nome di un preset: parole minuscole unite da trattini, come slack-channel. |
screenrig source presets
screenrig source presets slack-channelL’elenco mostra il titolo di ogni preset, i tipi di scheda che alimenta (il primo è quello per cui è stato creato) e la sua categoria. Un nome mostra i campi da impostare (--set NAME=VALUE: testo con il suo pattern e un esempio, una scelta, o un elenco che accetta un array JSON), i segreti da inserire (--secret NAME=@FILE) con dove il fornitore emette ciascuno, ogni quanto si aggiorna, per quanto tempo una scheda conserva gli ultimi dati, e i dati di chi legge e a quali condizioni. Non viene creato nulla.
source create#
Crea un’origine. Viene eseguita in pochi secondi e poi secondo la sua pianificazione. Crea prima la scheda e guarda l’anteprima con source test.
source create (--kind KIND | --preset NAME) --card CARD_ID --name NAME [--settings JSON|@FILE|-] [--set KEY=VALUE]...
[--connection-id ID] [--secret NAME=VALUE]... [--refresh DURATION] [--stale-after DURATION|none] [--disabled]| Parametro | Tipo | Obbligatorio | Predefinito | Note |
|---|---|---|---|---|
--kind KIND | string | senza --preset | nessuno | ics, sheets, csv, json, microsoft365, google_calendar, square, shopify, momentus o toast. |
--preset NAME | string | senza --kind | nessuno | Crea l’origine da un preset già pronto e testato (source presets li elenca): --set e --settings indicano allora i campi del preset e --secret le sue credenziali. Non con --kind. |
--card CARD_ID | string | sì | nessuno | La scheda (crd_…) che l’origine scrive. Una scheda ha un’origine; source_target_taken risponde a una seconda. |
--name NAME | string | sì | nessuno | Da 1 a 80 caratteri. |
--settings SETTINGS | string | no | {} | L’intero oggetto delle impostazioni dell’origine come JSON, @FILE o - per stdin. Con --preset, i campi del preset. |
--connection-id ID | string | no | nessuno | microsoft365 e google_calendar: leggono tramite una connessione del progetto (pcn_…, connection list) invece di un tenant, client_id e un segreto propri dell’origine. Definisce l’impostazione connection_id. Non insieme a --preset. |
--set KEY=VALUE | string | no | nessuno | Un’impostazione di primo livello: JSON se il valore è interpretabile (days=14, calendars='[{"key":"lobby"}]'), altrimenti testo (time_zone=America/Vancouver). Ripetibile. Con --preset, un campo del preset: il testo così com’è, a meno che sia un array o un oggetto JSON (le voci di un campo elenco). |
--secret NAME=VALUE | string | no | nessuno | Una credenziale per nome: NAME=@FILE, NAME=- (al massimo un’opzione legge stdin) oppure NAME=VALUE. Ripetibile. Con --preset, le credenziali del preset. |
--refresh DURATION | string | no | secondo il tipo | Ogni quanto sincronizzare, da 30s a 24h, ad esempio 90s, 5m o 1h30m. Il tipo determina il valore predefinito e l’intervallo minimo: 5 minuti e 1 minuto per ics, sheets, csv e json; 2 minuti e 1 minuto per microsoft365 e google_calendar; 5 minuti e 2 minuti per square, shopify e toast; 1 minuto e 30 secondi per momentus. Un preset imposta il proprio. |
--stale-after DURATION | string | no | secondo il tipo | Per quanto tempo la scheda conserva gli ultimi dati validi quando la fonte non riesce ad aggiornarsi, da 1m a 7d, almeno il doppio di --refresh; none li conserva fino al prossimo aggiornamento. Dopo, i dati scadono su ogni schermo. momentus è 30m per impostazione predefinita, e un preset imposta il proprio. |
--disabled | boolean | no | spento | Crea l’origine ferma; non viene recuperato nulla finché non usi source update --enable. |
screenrig source create --kind ics --card crd_01EXAMPLECARD000000000 --name "Lobby calendar" --set calendars='[{"key":"lobby"}]' --set time_zone=America/Vancouver --secret calendar_url.lobby=@lobby.url
screenrig source create --kind sheets --card crd_01EXAMPLEMENU0000000000 --name "Cafe menu" --settings @menu-sheet.json
screenrig source create --kind json --card crd_01EXAMPLEKPI00000000000 --name "Daily numbers" --settings @kpi-api.json --secret token=@api.token
screenrig source create --kind square --card crd_01EXAMPLEMENU0000000000 --name "Counter menu" --secret access_token=@square.token
screenrig source create --kind microsoft365 --card crd_01EXAMPLEROOMS0000000000 --name "Meeting rooms" --settings @rooms.json --connection-id pcn_01EXAMPLECONNECTION0000
screenrig source create --preset slack-channel --card crd_01EXAMPLEWALL00000000000 --name "Team wall" --set channel=C0123456789 --secret token=@slack.tokensource update#
Modifica un’origine. Una modifica diversa dalla rinomina azzera il suo conteggio degli errori e la riesegue.
source update <source_id> [--name NAME] [--card CARD_ID] [--settings JSON|@FILE|-] [--set KEY=VALUE]...
[--connection-id ID] [--secret NAME=VALUE]... [--unset-secret NAME]... [--refresh DURATION]
[--stale-after DURATION|none] [--enable | --disable] [--expect-rev REVISION]| Parametro | Tipo | Obbligatorio | Predefinito | Note |
|---|---|---|---|---|
<source_id> | string | sì | nessuno | L’origine (src_…). |
--name NAME | string | no | invariato | Rinomina l’origine. |
--card CARD_ID | string | no | invariato | Scrivi un’altra scheda. |
--settings SETTINGS | string | no | invariato | Sostituisce l’intero oggetto delle impostazioni: JSON, @FILE o - per stdin. Per un’origine creata da un preset, unisce questi campi alle sue impostazioni. |
--connection-id ID | string | no | invariato | Come per source create. Per togliere a un’origine le proprie credenziali servono --settings senza tenant e client_id, e --unset-secret client_secret. |
--set KEY=VALUE | string | no | nessuno | Modifica un’impostazione di primo livello tra quelle salvate, come per source create. Ripetibile. Per un’origine creata da un preset, un campo del preset; il valore null rimuove un campo facoltativo. |
--secret NAME=VALUE | string | no | nessuno | Imposta o sostituisce un segreto. Ripetibile. Un segreto che non invii conserva il suo valore, a meno che la modifica punti l’origine a qualcosa che quel segreto non copre (un’altra origine, negozio, ambiente o tenant): allora source_secret_required lo richiede di nuovo. |
--unset-secret NAME | string | no | nessuno | Rimuove un segreto. Ripetibile. |
--refresh DURATION | string | no | invariato | Da 30s a 24h; vale il minimo del tipo. |
--stale-after DURATION | string | no | invariato | Come per source create; none rimuove il periodo. |
--enable, --disable | boolean | no | invariato | Riprende la pianificazione, o la ferma; la scheda conserva il suo ultimo documento. Al massimo una delle due. |
--expect-rev REVISION | integer | no | la revisione letta | Rifiuta la modifica se l’origine non è a questa revisione. --set protegge la revisione letta, a meno che tu ne indichi un’altra. |
È richiesta almeno una modifica.
screenrig source update src_01EXAMPLESOURCE000000 --set days=14
screenrig source update src_01EXAMPLESOURCE000000 --secret calendar_url.lobby=@new.url --refresh 10m
screenrig source update src_01EXAMPLESOURCE000000 --disable
screenrig source update src_01EXAMPLEPRESET0000000 --set channel=C0123456789 --secret token=@new.tokensource test#
Mostra l’anteprima di un’origine senza salvare né scrivere nulla: recupera l’indirizzo, adatta la risposta per la scheda e verificala rispetto alla scheda. La busta contiene il documento, valid, il percorso e il motivo quando la scheda lo rifiuta, avvisi e conteggi. Passa un <source_id> salvato per testarlo con le altre opzioni come sostituzioni, oppure --kind (o --preset) e --card per testarne uno non salvato. Un errore di recupero o di adattamento è source_test_failed con il motivo. Un’origine csv o json riporta anche la richiesta inviata come data.request: il suo indirizzo con i segnaposto compilati e i parametri di query segreti mascherati, i nomi delle intestazioni inviate, l’inizio del corpo e le pagine lette. Al massimo 30 anteprime al minuto per organizzazione.
source test [<source_id>] [--kind KIND | --preset NAME] [--card CARD_ID] [--settings JSON|@FILE|-] [--set KEY=VALUE]...
[--connection-id ID] [--secret NAME=VALUE]...| Parametro | Tipo | Obbligatorio | Predefinito | Note |
|---|---|---|---|---|
<source_id> | string | no | nessuno | Un’origine salvata da testare. |
--kind KIND | string | senza <source_id> o --preset | nessuno | Come per source create. |
--preset NAME | string | no | nessuno | Mostra l’anteprima di un’origine creata da questo preset, con --set e --settings come campi e --secret come credenziali, al posto di --kind. Non insieme a <source_id>. |
--card CARD_ID | string | senza <source_id> | nessuno | La scheda da riempire. |
--settings SETTINGS | string | no | le impostazioni salvate | Le impostazioni del tipo: JSON, @FILE o - per lo stdin. |
--connection-id ID | string | no | nessuno | Come per source create. |
--set KEY=VALUE | string | no | nessuno | Un’impostazione di primo livello, come per source create; con un <source_id> sostituisce quell’impostazione tra quelle salvate. Ripetibile. |
--secret NAME=VALUE | string | no | i segreti salvati | Una credenziale da provare. Ripetibile. |
screenrig source test --kind ics --card crd_01EXAMPLECARD000000000 --set calendars='[{"key":"lobby"}]' --secret calendar_url.lobby=@lobby.url
screenrig source test src_01EXAMPLESOURCE000000
screenrig source test --preset slack-channel --card crd_01EXAMPLEWALL00000000000 --set channel=C0123456789 --secret token=@slack.tokensource refresh#
Sincronizza subito un’origine e mostra il risultato. Viene eseguita in linea fino a 60 secondi, azzera il conteggio degli errori e legge l’indirizzo per intero. Una sincronizzazione fallita non modifica mai la scheda. source_busy (codice di uscita 5) risponde mentre è in corso una sincronizzazione pianificata. Al massimo 6 al minuto per origine.
source refresh <source_id>| Parametro | Tipo | Obbligatorio | Predefinito | Note |
|---|---|---|---|---|
<source_id> | string | sì | nessuno | L’origine (src_…). |
screenrig source refresh src_01EXAMPLESOURCE000000source rooms#
Verifica come gli schermi sono mappati sulle sale di una fonte di sistema di prenotazione (momentus). Legge le sale dell'ultimo aggiornamento riuscito della fonte e gli schermi del progetto, e non recupera nulla. Elenca le sale e le aree che nessuno schermo mostra e ogni schermo che ha un valore di sala o di area o la cui playlist legge la chiave di sala o di area della fonte, ciascuno mapped, missing (la playlist legge il campo e lo schermo non ne ha) o unknown (il valore non indica alcuna sala né area, con quella che probabilmente si intendeva). Correggi uno schermo con screen update scr_ID --field room=ROOM_KEY.
source rooms <source_id>| Parametro | Tipo | Obbligatorio | Predefinito | Note |
|---|---|---|---|---|
<source_id> | string | sì | nessuno | Una fonte (src_…) che legge le sale di un sistema di prenotazione. |
screenrig source rooms src_01EXAMPLESOURCE000000source delete#
Elimina un’origine. La scheda conserva l’ultimo documento scritto dall’origine.
source delete <source_id> [--expect-rev REVISION]| Parametro | Tipo | Obbligatorio | Predefinito | Note |
|---|---|---|---|---|
<source_id> | string | sì | nessuno | L’origine (src_…). |
--expect-rev REVISION | integer | no | nessuno | Rifiuta l’eliminazione se l’origine non è a questa revisione. |
screenrig source delete src_01EXAMPLESOURCE000000Connessioni
Una connessione è l’accesso salvato del progetto a Microsoft o a Google per il lavoro che gira senza nessuno connesso. Un’origine dati microsoft365 o google_calendar (source create --connection-id), una connessione Power BI (bi connection create powerbi --connection-id) e un account di sincronizzazione dei media SharePoint (media sync account add microsoft365 --connection-id) leggono tramite una connessione invece di portare ognuno un tenant, un ID client e un segreto. Un ID connessione inizia con pcn_, e un’organizzazione ha fino a 50 connessioni su tutti i suoi progetti. Le modalità, gli stati e i passaggi di approvazione sono in Collega Microsoft e Google.
La modalità own_app usa la tua app: per Microsoft una registrazione di app Microsoft Entra (--tenant-id, --client-id e il valore di un segreto client), per Google la chiave JSON di un account di servizio. La modalità screenrig_app usa l’app propria di screenRIG e non richiede alcun segreto: create stampa un link di consenso monouso (data.consent_url, valido fino a data.consent_expires_at) per la persona che lo completa, un amministratore di Microsoft 365 che dà il consenso per il tenant, oppure il titolare di un account Google che concede l’accesso in sola lettura ai calendari. Invia il link solo a quella persona, poi leggi status e last_error con connection show. Una connessione Power BI accetta solo una connessione own_app.
Fornisci un segreto client con --secret-file FILE e una chiave Google con --service-account-key-file FILE, oppure - per stdin, mai come argomento. La lettura richiede l’accesso Read, e ogni modifica richiede l’accesso Manage.
connection list#
Elenca le connessioni di questo progetto con il loro stato.
connection listNessun parametro.
screenrig connection listconnection show#
Ispeziona una connessione: il suo stato, l’ultimo errore e l’ultimo test.
connection show <id>| Parametro | Tipo | Obbligatorio | Predefinito | Note |
|---|---|---|---|---|
<id> | string | sì | nessuno | La connessione (pcn_…). |
screenrig connection show pcn_01EXAMPLECONNECTION0000connection create microsoft#
Aggiungi una connessione Microsoft 365: la tua app Entra, oppure l’app di screenRIG con un link di consenso.
connection create microsoft --mode own_app|screenrig_app [--name NAME]
[--tenant-id ID --client-id ID --secret-file FILE]| Parametro | Tipo | Obbligatorio | Predefinito | Note |
|---|---|---|---|---|
--mode MODE | string | sì | nessuno | own_app: la tua registrazione di app Microsoft Entra con un segreto client. screenrig_app: l’app di screenRIG, per cui un amministratore di Microsoft 365 dà il consenso tramite il link monouso che questo comando stampa. |
--name NAME | string | no | Microsoft 365 | Da 1 a 80 caratteri. |
--tenant-id ID | string | con own_app | nessuno | Il tuo ID directory (tenant) Microsoft Entra, o il suo dominio principale come contoso.onmicrosoft.com. Insieme a --client-id e --secret-file. |
--client-id ID | string | con own_app | nessuno | L’ID applicazione (client) della registrazione dell’app. |
--secret-file FILE | string | con own_app | nessuno | Leggi il valore del segreto client da questo file, oppure - per stdin (mai un argomento); il file contiene solo il valore. |
screenrig connection create microsoft --mode own_app --tenant-id contoso.onmicrosoft.com --client-id 0b1d2f3a-4c5e-4f60-8a7b-9c0d1e2f3a4b --secret-file secret.txt
screenrig connection create microsoft --mode screenrig_app --name "Contoso rooms"La modalità screenrig_app non accetta --tenant-id, --client-id né --secret-file: stampa il link di consenso (data.consent_url) per l’amministratore di Microsoft 365, che dà il consenso all’app di screenRIG per il tenant. La registrazione dell’app elenca Calendars.Read per i calendari delle sale riunioni, Sites.Selected o Files.Read.All per la sincronizzazione dei media di SharePoint e, per Power BI, le impostazioni del tenant e l’appartenenza all’area di lavoro invece delle autorizzazioni Graph; connection test riporta quali autorizzazioni possiede il token. Un server senza l’app di screenRIG risponde connection_app_not_configured: la modalità own_app funziona comunque.
connection create google#
Aggiungi una connessione Google: la chiave del tuo account di servizio, oppure l’app di screenRIG con un link di accesso.
connection create google --mode own_app|screenrig_app [--name NAME]
[--service-account-key-file FILE]| Parametro | Tipo | Obbligatorio | Predefinito | Note |
|---|---|---|---|---|
--mode MODE | string | sì | nessuno | own_app: la chiave del tuo account di servizio. screenrig_app: l’app di screenRIG, a cui il titolare di un account Google accede e concede l’accesso in sola lettura ai calendari tramite il link monouso che questo comando stampa. |
--name NAME | string | no | Google Calendar | Da 1 a 80 caratteri. |
--service-account-key-file FILE | string | con own_app | nessuno | Leggi il file di chiave JSON dell’account di servizio da questo file, oppure - per stdin (mai un argomento). |
screenrig connection create google --mode own_app --service-account-key-file key.json
screenrig connection create google --mode screenrig_app --name "Venue calendars"In modalità own_app, condividi ogni calendario di sala con l’indirizzo dell’account di servizio, oppure assegna all’origine un subject (delega a livello di dominio). La modalità screenrig_app non richiede alcuna chiave e stampa il link di accesso (data.consent_url) per il titolare dell’account Google: l’account deve vedere ogni calendario di sala che un’origine elenca, e una tale origine non può indicare un subject. Un server senza l’app di screenRIG risponde connection_app_not_configured: la modalità own_app funziona comunque.
connection update#
Rinomina una connessione oppure, in modalità own_app, modifica il suo tenant, l’app o il segreto.
connection update <id> [--name NAME] [--tenant-id ID] [--client-id ID]
[--secret-file FILE] [--service-account-key-file FILE] [--expect-rev REVISION]| Parametro | Tipo | Obbligatorio | Predefinito | Note |
|---|---|---|---|---|
<id> | string | sì | nessuno | La connessione (pcn_…). |
--name NAME | string | no | invariato | Rinomina la connessione. |
--tenant-id ID | string | no | invariato | Microsoft own_app: l’ID directory (tenant) o il dominio principale. |
--client-id ID | string | no | invariato | Microsoft own_app: l’ID applicazione (client). |
--secret-file FILE | string | no | invariato | Microsoft own_app: leggi il valore del segreto client da questo file, oppure - per stdin; sostituisce il segreto memorizzato. |
--service-account-key-file FILE | string | no | invariato | Google own_app: leggi la chiave JSON dell’account di servizio da questo file, oppure - per stdin; sostituisce la chiave memorizzata. |
--expect-rev REVISION | integer | no | nessuno | Rifiuta la modifica se la connessione non è a questa revisione (revision_conflict, uscita 6). |
screenrig connection update pcn_01EXAMPLECONNECTION0000 --secret-file new-secret.txt
screenrig connection update pcn_01EXAMPLECONNECTION0000 --name "Contoso rooms" --expect-rev 2È richiesta almeno una modifica. Una modifica alle credenziali riporta la connessione a ready, cancella il suo ultimo errore e l’ultimo test, e ritira ogni token emesso per le vecchie credenziali: testala di nuovo. Una connessione screenrig_app può solo essere rinominata: connection connect crea un nuovo link di consenso per cambiare chi ha dato il consenso. Un segreto omesso viene conservato.
connection test#
Accedi con una connessione e controlla cosa consentono le sue credenziali.
connection test <id>| Parametro | Tipo | Obbligatorio | Predefinito | Note |
|---|---|---|---|---|
<id> | string | sì | nessuno | La connessione (pcn_…). |
screenrig connection test pcn_01EXAMPLECONNECTION0000Per Microsoft riporta credentials (un token dell’app per il tenant) e permissions (quali tra Calendars.Read, Sites.Selected, Files.Read.All, Sites.Read.All e Place.Read.All il token possiede; se non ne ha nessuna, il controllo fallisce, e Sites.Selected da sola è un avviso perché ogni sito richiede una propria concessione). Per Google riporta credentials, indicando l’account a cui i calendari devono essere visibili. Un rifiuto porta la connessione a error con last_error; un esito positivo la riporta a ready. Il test non valuta la condivisione di un calendario, una politica di accesso alle cassette postali né una concessione su un sito. Al massimo 30 al minuto per organizzazione.
connection connect#
Crea un nuovo link di consenso monouso per una connessione screenrig_app.
connection connect <id>| Parametro | Tipo | Obbligatorio | Predefinito | Note |
|---|---|---|---|---|
<id> | string | sì | nessuno | La connessione (pcn_…). |
screenrig connection connect pcn_01EXAMPLECONNECTION0000data.consent_url è il link per la persona che completa il consenso: l’amministratore di Microsoft 365, o il titolare dell’account Google. Sostituisce qualsiasi link precedente. Una connessione funzionante resta com’è finché il nuovo consenso non è completato, quindi questo rinnova anche una connessione passata a error (consenso rimosso, accesso revocato) o la sposta su un altro tenant o account. Una connessione in modalità own_app non ha alcun passaggio di consenso. Al massimo 20 al minuto per organizzazione.
connection delete#
Elimina una connessione che nulla usa per leggere.
connection delete <id> [--expect-rev REVISION]| Parametro | Tipo | Obbligatorio | Predefinito | Note |
|---|---|---|---|---|
<id> | string | sì | nessuno | La connessione (pcn_…). |
--expect-rev REVISION | integer | no | nessuno | Rifiuta l’eliminazione se la connessione non è a questa revisione (revision_conflict, uscita 6). |
screenrig connection delete pcn_01EXAMPLECONNECTION0000
screenrig connection delete pcn_01EXAMPLECONNECTION0000 --expect-rev 2Finché un’origine dati, una connessione Power BI o un account di sincronizzazione dei media legge tramite la connessione, la risposta è resource_conflict (uscita 5), che li nomina. L’eliminazione non chiude il lato del fornitore: un tenant Microsoft 365 conserva l’app di screenRIG finché il suo amministratore non la rimuove, e un account Google conserva la sua concessione finché il suo titolare non la revoca.