Hey there,
I have created a dashboard which works while authenticated, but it doesnt while its on a public dashboard. This was meant to be a basic conference room display panel, because Microsoft wants $50/mo to have a display panel with information I can get from the Graph API for free. The end goal is to throw this on a single URL android tablet running as a kiosk.
It uses the Grafana date picker to define {“from”:“now”,“to”:“now/d”}, so that it gets current and future meetings for the day from the Infinity API addon. It also uses the “${__from:date}” variable in the API POST query to create a meeting from the current timestamp.
When I run it logged into Grafana, it works great, and you see the instant meeting on the left. When I try to run it as a public dashboard, I get this message:
“Update Datasource Error: T.range is undefined”
I did see in the documentation that I needed context.grafana.templateService to use Grafana variables, so I added “const templateService = context.grafana.templateService” to my initial code request, but that yielded no changes.
In the Business Forms error message, I can see that it gets the date correctly, because the error message also includes the query, and the date/time is correct. Heres the full error message with sensitive data redacted:
Update Datasource Error: T.range is undefined
Request: {
"columns": [],
"filters": [],
"format": "table",
"global_query_id": "",
"refId": "",
"root_selector": "",
"source": "url",
"type": "json",
"url": "https://graph.microsoft.com/v1.0/users/hydrogenconferenceroom@contoso.com/calendar/events",
"url_options": {
"body_content_type": "application/json",
"body_type": "raw",
"data": "{\r\n \"subject\": \"Instant Meeting\",\r\n \"body\": {\r\n \"contentType\": \"HTML\",\r\n \"content\": \"This meeting was booked via the meeting button on the Room Panel\"\r\n },\r\n \"start\": {\r\n \"dateTime\": \"2025-06-20T20:55:16.768Z\" ,\r\n \"timeZone\": \"Eastern Standard Time\"\r\n },\r\n \"location\":{\r\n \"displayName\":\"Hydrogen Conference Room\"\r\n },\r\n \"allowNewTimeProposals\": false,\r\n}",
"headers": [
{
"key": "Prefer",
"value": "outlook.timezone=\"Eastern Standard Time\""
},
{
"key": "Content-Type",
"value": "application/json"
}
],
"method": "POST"
}
}
What T.range could this error be talking about? @mikhailvolkov I believe you might be the best person to ask.