Chrome扩展开发应选Web Application还是Chrome App 多浏览器适配及Sheets API问询
Chrome扩展对接Sheets API相关问题解答
问题1:Chrome扩展开发时如何选择Chrome App或Web Application应用类型
首先明确Chrome App目前已经被Google停止公开支持,仅面向企业级场景保留兼容,两类应用的适用场景如下:
- 选择Chrome App类型的场景:仅开发面向企业内部使用、不需要兼容其他浏览器的Chrome专属扩展,该类型配合
getAuthToken可以快速实现身份认证,不需要手动处理OAuth2的授权回调、令牌刷新等逻辑,开发成本更低,但不支持公开上架到扩展商店的普通场景。 - 选择Web Application类型的场景:开发公开上架的通用扩展、或需要自定义授权流程、或需要兼容多浏览器的场景,该类型配合
launchWebAuthFlow实现的是标准OAuth2认证流程,不受Chrome生态限制,适用范围更广。
问题2:兼容Chrome和Edge的身份认证方案及Sheets API对接方式
认证方案选择
优先选择**Web Application类型+launchWebAuthFlow**的认证方式,该API是Chromium内核浏览器的通用扩展API,Chrome和Edge都原生支持,不需要依赖Chrome专属的内置账号绑定逻辑,兼容性最好。
Sheets API对接步骤
- 第一步:在Google Cloud控制台创建项目,启用Google Sheets API,创建OAuth 2.0客户端ID,应用类型选择Web应用,授权重定向URI填写
https://<你的扩展ID>.chromiumapp.org/,该地址是Chromium系浏览器通用的扩展重定向地址,Chrome和Edge都可正常识别。 - 第二步:在扩展的
manifest.json中声明identity权限,同时添加Sheets API对应的权限范围,示例如下:
{ "permissions": ["identity", "https://www.googleapis.com/*"], "oauth2": { "client_id": "你的Google Cloud OAuth客户端ID", "scopes": ["https://www.googleapis.com/auth/spreadsheets"] } }
- 第三步:触发授权时调用
chrome.identity.launchWebAuthFlow,拼接Google OAuth2授权请求地址,传入客户端ID、重定向URI、权限范围、响应类型为code,拿到授权码后向Google OAuth接口交换访问令牌和刷新令牌。 - 第四步:调用Sheets API时,在HTTP请求头中添加
Authorization: Bearer <访问令牌>,按Sheets API接口要求构造请求即可,该逻辑在Chrome和Edge下完全通用。
内容的提问来源于stack exchange,提问作者new guy
相关产品推荐
相关产品推荐

