如何在不点击的情况下从 Chrome 自定义标签中捕获 URL?
Posted
技术标签:
【中文标题】如何在不点击的情况下从 Chrome 自定义标签中捕获 URL?【英文标题】:How can I capture a URL from Chrome Custom Tabs without clicks? 【发布时间】:2021-12-06 01:50:57 【问题描述】:我正在尝试从 WebViews 切换到 CustomTabs,因为它已被 Facebook 禁用以进行登录。为此,我需要从自定义选项卡中的 URL 获取访问令牌。如何在不要求用户点击某处的情况下做到这一点?
【问题讨论】:
我不知道 Facebook 禁用了 WebViews。有公告链接吗?或者,您知道这种变化是什么时候发生的吗? 是的,developers.facebook.com/docs/facebook-login/android/… 【参考方案1】:Facebook 登录 SDK 已经在后台使用了自定义选项卡。这里有关于如何在您的应用程序中使用它的文档:https://developers.facebook.com/docs/facebook-login/android/
为了手动实现这一点,您需要创建一个具有使用自定义架构的意图过滤器的 Activity,并将该架构用作 OAuth 流的重定向 URL。在https://github.com/GoogleChrome/android-browser-helper/tree/main/demos/custom-tabs-oauth 处有一个为 GitHub OAuth 实现此流程的示例。
【讨论】:
但 Facebook 只允许使用 HTTPS 方案的 URI 作为有效的 OAuth 重定向 URI。 他们的文档指出以下协议方案:以上是关于如何在不点击的情况下从 Chrome 自定义标签中捕获 URL?的主要内容,如果未能解决你的问题,请参考以下文章
如何在不打开电子邮件应用程序的情况下从锚标签中抓取电子邮件 ID
如何在不设置 Content-Disposition 标签的情况下从控制器返回图像?
如何在不点击通知的情况下从通知中获取数据(firebase 云消息传递和本机反应)
在不打开新标签的情况下从本机应用返回 Safari - iOS - Safari