当前位置: 首页 > 面试题库 >

在新的Gmail API中批量提取电子邮件

淳于兴朝
2023-03-14
问题内容

我正在使用Google最新发布的Gmail API的python版本。

以下调用仅返回消息ID的列表:

service.users().messages().list(userId = 'me').execute()

但是然后我只有一个消息ID列表,需要遍历它们并逐个获取它们。

有没有办法在一次调用中获得ID列表的全部消息内容?(类似于Google Calendar API中的操作)?

而且,如果尚不支持,那么Google是否愿意考虑在API中添加这些内容?

这是为我工作的解决方案:
batch = BatchHttpRequest() for msg_id in message_ids: batch.add(service.users().messages().get(userId = 'me', id = msg_id['id']), callback = mycallbackfunc) batch.execute()


问题答案:

这是Java中批处理请求的示例,其中我使用线程ID获取所有线程。这可以轻松满足您的需求。

BatchRequest b = service.batch();
//callback function. (Can also define different callbacks for each request, as required)
JsonBatchCallback<Thread> bc = new JsonBatchCallback<Thread>() {

    @Override
    public void onSuccess(Thread t, HttpHeaders responseHeaders)
            throws IOException {
        System.out.println(t.getMessages().get(0).getPayload().getBody().getData());
    }

    @Override
    public void onFailure(GoogleJsonError e, HttpHeaders responseHeaders)
            throws IOException {

    }
};

// queuing requests on the batch requests
for (Thread thread : threads) {
    service.users().threads().get("me", threads.getId()).queue(b, bc);
}


b.execute();


 类似资料:
  • 我有一个spring独立应用程序,它使用简单的spring电子邮件代码,如下所示,和是使用map中迭代的值构建的。 我已经对这个问题有了一些建议,但我需要一些具体的建议。下面是我的代码 发送邮件的代码: 发送邮件需要3到4秒钟。我每天有大约40万的用户列表要发送 我是否做错了什么,或者采取了其他方法来加快这个过程。我需要专家的建议 感谢您的时间和帮助:)

  • 我在试着从他的电子邮件里得到一个用户名。我知道有一些简单的方法可以实现这一点,但它让我怀疑我是否可以只使用Regex来实现这一点。 让我们假设用户输入以下电子邮件:user.sure_name123@mail.co 从该字符串中,我想提取:user sure name

  • 问题内容: 我有一个独立于Spring的应用程序,该应用程序使用以下简单的spring电子邮件代码,并且使用从map迭代的值构造。 我已经在这里对这个问题提出了一些建议,但是我需要一些具体的建议。下面是我的代码 发送邮件的代码: 发送邮件需要3到4秒钟。我每天有大约40万个大型用户要发送 我在做任何错误的事情还是其他方法来加快此过程。我需要专家的建议 感谢您的时间和帮助:) 问题答案: 恕我直言,

  • 问题内容: 我有一个非常大的.txt文件,其中散布着成千上万个电子邮件地址。它们都采用以下格式: 使Python循环遍历整个.txt文件以查找某个@domain字符串的所有实例,然后在<…>内获取地址的全部并将其添加到的最佳方法是什么?一个列表?我遇到的麻烦是不同地址的长度可变。 问题答案: 此代码以字符串形式提取电子邮件地址。逐行阅读时使用 如果您有多个电子邮件地址,请使用: 上面的正则表达式可

  • 我正在使用spring Boot从java发送HTML电子邮件。电子邮件包括签名与我们公司的形象标志。它工作得很好。在Gmail上。但在MacOS应用程序电子邮件中,徽标是作为附件发送的,而不是内联的。 代码的非相关部分替换为...

  • 问题内容: 我想要一个正则表达式,它将从String中提取电子邮件地址(使用Java正则表达式)。 那确实有效。 问题答案: 这是真正有效的正则表达式。我花了一个小时在网上冲浪并测试了不同的方法,尽管Google在这些页面上排名最高,但大多数方法都无效。 我想与您分享一个有效的正则表达式: 这是原始链接:http : //www.mkyong.com/regular-expressions/how