如何使用 gmail API 的查询?设置属性 Q 似乎没有效果
Posted
技术标签:
【中文标题】如何使用 gmail API 的查询?设置属性 Q 似乎没有效果【英文标题】:How to use gmail API's Query? Setting property Q seems to be not effect 【发布时间】:2021-12-26 18:34:56 【问题描述】:我正在使用 gmail API,除了查询,Q 属性之外,一切都在工作。
// service.Users.Messages.List("me").Q = $"subject:(my search term)";
var response = service.Users.Messages.List("me").Execute();
返回所有消息,无论前面的语句是被注释掉还是被执行。
我还用 fiddler 检查了请求,在 GET 请求中没有任何查询参数或其他内容的痕迹......与无查询请求相比没有区别。
【问题讨论】:
【参考方案1】:您的请求的一部分似乎已被注释掉。第二个可选参数需要按以下方式设置。
var request = service.Users.Messages.List("me");
request.Q = "subject:test";
var response = request.Execute();
要弄清楚如何使用 Q 参数,最好在 Gmail 网络应用程序中对其进行测试。您发送的文本将完全相同
【讨论】:
非常感谢。请阅读OP“...无论前面的语句是否被注释掉或执行......”我想强调一下,用Fiddler进行调试没有注释掉或.Q =“......”版本之间的区别. ...但是...我发现,使用请求变量解决了我的问题。可能每个service.Users.Messages.List("me")
都会创建一个新的请求实例......所以正确的方法是获取一个,然后修改其状态,然后执行
使用 fiddler 进行测试与使用 .net 客户端库不同,该库最初创建于 10 多年前,当时的情况有所不同。遗憾的是,该库尚未更新以考虑当前使用 C# 和 .net 的最佳实践以上是关于如何使用 gmail API 的查询?设置属性 Q 似乎没有效果的主要内容,如果未能解决你的问题,请参考以下文章
访问未授予或过期 GMAIL API 和 Oauth2 / 如何使用 GMAIL API 和 GSuite 域设置电子邮件签名
如何设置凭据以从 GCE VM 命令行使用 Gmail API?