如何使用 Gmail REST 或 Apps API 为邮件添加自定义星标?是否有可用于 Gmail REST API 的备用标签名称?甚至可以从 Google Apps Script API 实现吗?
上下文
Gmail 用户可以更改他们的设置以自定义他们想要使用的星标。这些过去被称为“超级明星”,以引入它们的实验室功能命名。它在工作时继续出现,例如资产 URL:...superstars/star_lit_green_check3.png。

Gmail REST API
Gmail REST API 不提供设置自定义星标的端点。您可以通过使用User.messages.modify端点添加或删除STARRED标签来加星标或取消星标。似乎没有任何文件表明还有哪些其他标签可用于全套星星。

由于文档没有提供如何设置自定义星标的线索,因此使用 Gmail 检查网络请求为我们提供了线索。

“sslbl”遵循前缀所在的模式^ss_,类型s用于星形或c自定义类型,以及颜色的第一个字母。通过它们都给我们列出了:
星级:^ss_sy, ^ss_so, ^ss_sr, ^ss_sp, ^ss_sb, ^ss_sg
定制:^ss_cr, ^ss_co, ^ss_cy, ^ss_cg, ^ss_cb, ^ss_cp
稍后进行一些研究,您最终会得到:
不幸的是,REST API 无法识别这些内部标签。测试另一个内部 -^前缀标签也失败,表明您不能在这里使用这些。请注意CATEGORY_FORUMS上面屏幕截图中的标签是如何应用于消息的。相应的^smartlabel_group标签失败。

~~
编辑:根据@TarunLalwani 的建议,我尝试User.messages.modify使用 URL …
当我使用 TypeScript 编译器编译测试并使用 Jest 模拟时,我经常收到以下错误tsc:
error TS2339: Property 'mockImplementationOnce' does not exist on type
'typeof readFile'.
Run Code Online (Sandbox Code Playgroud)
从这个最小的测试:
jest.mock('fs');
// Run before the imports but does not alter types :(
import { readFile } from 'fs';
import { fnThatReadsFile } from './lib';
it('should read a file', () => {
const err = {};
readFile.mockImplementationOnce((_, callback) => callback(err, null));
// ^^ error TS2339: Property 'mockImplementationOnce' does not exist on type 'typeof readFile'.
fnThatReadsFile();
// expect...
});
Run Code Online (Sandbox Code Playgroud)
除了:
readFile as …