Sonos API Redirect URI



我有一个关于Sonos API身份验证重定向URI的问题。在以前的项目中,我使用了我的本机应用程序可以拦截的重定向 URI。比如myApp://auth-code.这在Sonos API中似乎是不可能的,因为它希望重定向URI是可公开路由的和HTTPS。我必须拥有自己的服务器,位于本机客户端和Sonos API之间吗?我有一种感觉,我可能在这里错过了一些简单的东西。谢谢你的时间。

只需有一个虚拟端点,例如 Firebase 云函数,它会重定向到您自己的自定义方案,例如 location.href="myapp-scheme://...">

确保追加查询参数。

您还可以通过嵌入 Safari 网页视图来避免打开外部浏览器。

如果您使用WebView 显示 Sonos 身份验证页面,您可以检测到显示的 Web 视图的 URL,然后您可以检测 Web View 何时加载重定向 Uri,获取它(使用代码(并执行您的工作。 下面是一个使用 Kotlin 的示例:

webView.webViewClient = object : WebViewClient() {
override fun onPageFinished(view: WebView, url: String) {}
override fun onPageStarted(view: WebView?, url: String?, favicon: Bitmap?) {
super.onPageStarted(view, url, favicon)
// Here you can get url and then Sonos code
if (url != null && url.contains(redirectUri) && url.contains("&code=")) doStuff()
}
}

最新更新