Api 什么';chrome.identity.getAuthToken()交互模式与非交互模式的区别是什么?

Api 什么';chrome.identity.getAuthToken()交互模式与非交互模式的区别是什么?,api,google-chrome,google-chrome-extension,Api,Google Chrome,Google Chrome Extension,chrome.identity.getAuthToken()中的交互模式和非交互模式之间的区别,即使在反复阅读之后,我也不太清楚 为了获得良好的用户体验,交互令牌请求非常重要 由应用程序中的UI启动,解释授权是什么 对于否则将导致您的用户获得授权 请求,或未登录的Chrome登录屏幕 没有背景。特别是,不要以交互方式使用getAuthToken 当您的应用程序首次启动时 及 获取令牌可能需要用户登录到Chrome或批准 应用程序请求的作用域。如果交互标志为true, getAuthToken将根

chrome.identity.getAuthToken()中的交互模式和非交互模式之间的区别,即使在反复阅读之后,我也不太清楚

为了获得良好的用户体验,交互令牌请求非常重要 由应用程序中的UI启动,解释授权是什么 对于否则将导致您的用户获得授权 请求,或未登录的Chrome登录屏幕 没有背景。特别是,不要以交互方式使用getAuthToken 当您的应用程序首次启动时

获取令牌可能需要用户登录到Chrome或批准 应用程序请求的作用域。如果交互标志为true, getAuthToken将根据需要提示用户。当标志为false时 或者省略,getAuthToken将在任何提示出现时返回failure 这是必需的

  • 如何通过我的应用程序中的UI(解释授权原因)启动交互式令牌请求?
    getAuthToken()
    如何理解它是否已从UI调用
  • “当您的应用程序首次启动时,请勿交互使用
    getAuthToken
    ”—此警告的目的是什么
  • 交互和非交互模式有何不同
  • “当标志为false或省略时,
    getAuthToken
    将在任何需要提示的时候返回failure”-我如何知道是否需要提示

  • 回答你的问题:

  • 例如,在应用程序中使用HTML按钮连接到API:
  • myApp.html

    <button id="connectMe">Connect to the API</button>
    <script src="myApp.js"></script>
    
  • 这是为了防止应用程序的用户在不知道授权的目的或应用程序需要授权的原因的情况下看到授权请求屏幕。这就是为什么他们建议使用清晰的UI元素(如答案1中的按钮)

  • 在交互模式下,如果需要授权,将向用户显示授权屏幕(请参阅)。在非交互模式下,如果需要授权,调用
    getAuthToken
    方法将返回错误

  • 当用户未登录Chrome或请求的范围以前未经授权时,需要提示


  • 在我(非常有限)的经验中,我每次都使用
    {interactive:true}
    :第一次使用时,会向用户显示授权屏幕。随后的请求由identity API自动处理(如果我的请求返回401错误无效令牌,我将使用相同的
    getAuthToken
    方法,并自动获取新令牌)。

    有更多信息。也许这里更清楚一点。在我的例子中,它不会自动获取它,而是创建一个登录弹出窗口,并要求用户再次验证和授权扩展。更多详情请参见下面的问题。
    document.getElementById("connectMe").onclick = function(){
        chrome.identity.getAuthToken({interactive:true},function(token){
            if (token) // you have received authorization ...
        });
    };