【发布时间】:2016-06-16 03:35:24
【问题描述】:
我正在 android studio 中处理一个片段,其目的是显示收件人/发件人、主题和邮件正文。到目前为止,我能够检索、解码和显示身体。我尝试对标头使用类似的方法,但由于某种原因它没有正确解码,或者我的方法调用没有得到正确的信息。这是我正在使用的代码:
String user = "me";
String query = "in:inbox is:unread";
textView.setText("Inbox");
ListMessagesResponse messageResponse =
mService.users().messages().list(user).setQ(query).setMaxResults(Long.valueOf(1)).execute();
List<Message> messages = messageResponse.getMessages();
for(Message message : messages){
Message message2 = mService.users().messages().get(user, message.getId()).execute();
//Get Headers
byte[] headerBytes = Base64.decodeBase64(message2.getPayload().getParts().get(0).getHeaders().get(0).getName().toString().trim()); // get headers
String header = new String(headerBytes, "UTF-8");
//Get Body
byte[] bodyBytes = Base64.decodeBase64(message2.getPayload().getParts().get(0).getBody().getData().trim().toString()); // get body
String body = new String(bodyBytes, "UTF-8");
messageList.add(header);
messageList.add(body);
}
return messageList;
// get body 下的部分有效。但是//Get Headers 下的部分返回带有奇怪符号的数据,其中包括内部带有白色问号的黑色菱形和随机顺序的字母。我为headerBytes 的Base64.decodeBase64 语句中的方法调用尝试了许多不同的组合和顺序,但未能成功。有什么我遗漏的吗?
编辑:我查看了 google 开发者网站上的 gmail-api 文档,但我仍然对如何存储标头信息以及如何检索特定内容(例如 To、From 和 Subject)感到困惑。这可能是我的问题,因为我可能没有针对正确的数据。
【问题讨论】: