如何获取Google Add-on的logoUrl图标URL、替代资源及解决Drive权限问题?
Google Apps Script Add-on图标相关问题解答
一、获取Google Material图标URL的方法
Google Material图标的CDN路径有固定规律,你可以按以下方式生成可用URL:
- 路径结构:
https://www.gstatic.com/images/icons/material/system/[分辨率]/[图标名称]_[颜色]_[尺寸]dp.png- 分辨率:常用
1x(普通屏幕)、2x(高分辨率屏幕) - 颜色:支持
black、white两种基础色 - 尺寸:常用
24dp、48dp(适配Add-on的logo尺寸要求)
- 分辨率:常用
- 确定图标名称:在Material Icons官网找到目标图标,比如“日历”对应的图标名是
calendar_today,替换后得到URL:https://www.gstatic.com/images/icons/material/system/1x/calendar_today_black_48dp.png - 变体图标获取:如果需要轮廓版(Outlined),在图标名前加
outline_即可,比如outline_calendar_today_black_48dp.png
二、优质logoUrl图标来源
- Material Icons官方CDN:即你提到的
gstatic路径,图标风格统一,完美适配Google生态 - Font Awesome CDN:提供海量通用图标,可直接引用png格式的CDN链接,比如
https://cdn.jsdelivr.net/npm/font-awesome@4.7.0/img/gear.png - Feather Icons:轻量线框风格图标,有公开CDN可直接获取png/svg格式文件
- Heroicons:Tailwind官方出品的图标,分Outline和Solid两种风格,支持直接引用CDN链接
- 自托管图标:使用GitHub Pages、云存储服务(如阿里云OSS)托管图标,设置公开访问权限后,直接用托管后的URL即可
三、Drive图标无法使用的原因
核心是权限和URL格式问题:
- 权限不足:Drive文件默认是私有状态,即使是域名内共享,Google Apps Script的服务端也无法读取非公开文件。必须将文件设置为**“任何人都可以查看”**的公开权限
- URL格式错误:普通Drive共享链接是预览页面链接,并非直接的图片文件链接。需要把共享链接中的
/file/d/[文件ID]/view格式修改为/uc?export=download&id=[文件ID],才能得到可直接访问的图片URL
内容的提问来源于stack exchange,提问作者MumblingFumbler
相关产品推荐
相关产品推荐

