【问题标题】:CCA: Chrome identity pops up Account Chooser every timeCCA:Chrome 身份每次都会弹出帐户选择器
【发布时间】:2014-07-13 03:25:29
【问题描述】:

我正在使用 cca 工具链制作 Chrome/Android/iOS 应用程序。我正在使用chrome.identity API 来获取access_token 以与 Google API 进行交互。

当我将interactive 设置为falseimmediatetrue)时,应用程序能够在不再次显示权限对话框的情况下获取令牌,但它仍然每次在我的 Android 设备上显示帐户选择器.这会破坏应用程序的体验,因为每次打开它时,用户都会收到一个烦人的对话框。如何让应用在第一次之后记住选择的帐户,就像使用权限一样?

【问题讨论】:

    标签: android google-chrome google-api google-chrome-app


    【解决方案1】:

    在 Android 上,您可以在调用 getAuthTokendetails 参数中指定 accountHint。例如:

    var details = { interactive: true, accountHint: 'email@address.com' };
    var callback = function(token, account) { ... };
    chrome.identity.getAuthToken(details, callback);
    

    这将绕过帐户选择器对话框。请注意,回调有account,可以为此目的存储。

    很遗憾,这仅适用于 Android;当您向 details 添加额外内容时,桌面版 Chrome 不喜欢它。您需要使用chrome.runtime.getPlatformInfo 来确定您正在运行的平台,以便您可以创建并传递正确的details 对象。在 Android 上,platformInfo.os 将是 cordova-android

    【讨论】:

    • 这正是我所做的,并且有效!对 cordova-android 的调用很好,文档说它只会是 android。
    猜你喜欢
    • 2017-07-27
    • 2015-09-03
    • 1970-01-01
    • 2016-06-17
    • 1970-01-01
    • 1970-01-01
    • 2022-07-14
    • 2021-06-22
    • 2020-06-26
    相关资源
    最近更新 更多