Google Picker API Chrome不显示、Firefox功能异常问题咨询
Google Picker API异常修复方案
该异常由Google Picker API近期更新的强制校验规则导致,官方新增了origin参数必填要求,原有未显式配置该参数的旧集成逻辑会触发跨源校验失败,从而出现Chrome端空白、Firefox端回调不触发的问题。
修复步骤
- 调整Picker初始化代码,在PickerBuilder配置中新增
setOrigin项,参数值严格按照报错提示设置为当前顶层页面的根地址,修改后代码如下:
if (pickerApiLoaded && oauthToken) { var view = new google.picker.View(google.picker.ViewId.DOCS); view.setMimeTypes("application/vnd.google-apps.spreadsheet"); var picker = new google.picker.PickerBuilder() .setAppId(appId) .setOAuthToken(oauthToken) .addView(view) .setDeveloperKey(developerKey) .setCallback(pickerCallback) // 新增origin配置行 .setOrigin(window.location.protocol + '//' + window.location.host) .build(); picker.setVisible(true); }
- 检查Google Cloud控制台对应项目的凭据配置,确保你使用的OAuth客户端ID、API密钥的授权JavaScript来源列表,已经完整添加了站点所有访问域名,包含对应的http/https前缀、非默认端口号,www和非www域名需要分别添加。
- 清理浏览器缓存后重新测试,两类异常均可同步解决。
内容的提问来源于stack exchange,提问作者Michael Fatica
相关产品推荐
相关产品推荐

