Search code examples
google-apibroadcastgoogle-assistant-sdkgoogle-home

Google Assistant Internal API Endpoint


I am currently working on tool that will send an automated message broadcast to all Google Homes in my home. I want to run this tool on a VPS, but unfortunately the Google Assistant SDK only supports broadcasting to Google Homes on the same Wi-Fi network.

However, the Google Assistant app on my phone has no problem broadcasting a message to all my Google Homes, even when I am miles away from my house. So, I am attempting to recreate this effect so that my VPS can broadcast messages to my Google Homes.

I know the Google Assistant SDK endpoint is embeddedassistant.googleapis.com, but I do not know the endpoint that is used by the actual app. I tried decompiling the app to find it, but to no avail.

I assume the actual phone app uses a separate endpoint (and internal API) than the app, but I am still trying to find out what it is.

Any help on this would be much appreciated!


Solution

  • After some digging, it appears the Google App's internal API endpoint is:

    https://www.google.com/m/voice-search/up?pair=[Request_ID]

    However, the endpoint does not appear to use protocol buffers and uses a content type called application/vnd.google.octet-stream-compressible

    The only information I could find is available here (with Google Translate): https://yangwenbo.com/articles/google-app-api-protocol-voice-search.html