为什么Gmail API ListThreadResponse让线程没有做任何事情?

时间:2016-02-18 19:58:29

标签: java android gmail-api

我正在尝试启动基本版并获取收件箱中所有线程的列表。我总共只有14个让测试变得简单。每当我使用以下内容时:

ListLabelsResponse lR = mService.users().labels().list(user).execute();

我可以获得标签列表。但是当我尝试按照谷歌开发人员教程中的线程做同样的事情时:https://developers.google.com/gmail/api/v1/reference/users/threads/list

 ListThreadsResponse threadResponse =
                mService.users().threads().list(user).setQ(query).execute();

永远不会结束。调用上述语句后,此语句所在的方法的其余部分永远不会运行。什么都没发生。我没有收到任何错误消息。我使用和不使用.setQ测试了上述语句。

通过大量的日志记录,我将其缩小到单个ListThreadResponse语句,使得程序看起来像是在不做任何事情的情况下永远运行。我等了5分钟,看看它是否真的很慢,但仍然没有。有谁知道为什么会发生这种情况?

1 个答案:

答案 0 :(得分:1)

如果查看listing labels的文档,您会看到范围https://www.googleapis.com/auth/gmail.labels已足够。但这不足以列出线程,这需要broader scope

如果您使用适当的范围,并再次执行授权步骤,您将获得可用的tokens