Perhaps I wasn't clear on the issue. Ignore Elegato/Stream Deck from the equation -- the "Settings > Privacy > Third Party app API" function of teams is not working. This is the issue. Whether it's me calling the API directly, Elgato, or another tool like Mutedeck, the issue lies with Teams.
Using any websocket tool, try and access ws://localhost:8124/?token=463e5844-9d15-431f-b2c3-ee39e572889d&protocol-version=1.0.0&manufacturer=TestManufacturer&device=TestDevice&app=TestApp&app-version=1.0.0
The connection will OPEN.
While it is open, I receive events from the socket when meeting states change. This is good.
However, when I try to send a request to the websocket, like this:
{"apiVersion":"1.0.0","service":"toggle-mute","action":"toggle-mute","manufacturer":"TestManufacturer","device":"TestDevice","timestamp":1691072839023}
It responds with an Error:
{"apiVersion":"1.0.0","errorMsg":"API is disabled."}
This is the crux of the issue with the plugin, but the plugin is irrelevant here. Elgato can't fix this.
I've been told that "Early Access" version of Teams can cause this, but I see no way to opt out of it. I don't even see a place to verify which build I'm on. All I get is an app version.
So my question again is
- How can I disable early access on Teams (on Mac)
OR
- How do I "enable" the API in teams, if not through the toggle in the UI (Settings > Privacy > Third Party app API).