Gmail上下文小工具API:有没有办法访问RFC 822消息ID?

时间:2013-11-22 15:09:34

标签: gmail-contextual-gadgets

有没有办法从Contextual Gadget中访问RFC 822消息ID? 根据{{​​3}},只能访问Google消息ID。

但是,我不理解这一限制,因为Google Message ID也可以访问...

祝你好运, 乔

1 个答案:

答案 0 :(得分:0)

不,不是直接,但你可以使用一些java,有一个api可以解决你的问题。

你可以在这里找到它

https://code.google.com/p/java-gmail-imap/

我的代码:

IMAPFolder folder = (IMAPFolder) store.getFolder("[Gmail]/All Mail");

        FetchProfile fp = new FetchProfile();
        fp.add(FetchProfile.Item.ENVELOPE);
        fp.add(IMAPFolder.FetchProfileItem.X_GM_THRID);
        fp.add(IMAPFolder.FetchProfileItem.X_GM_MSGID);


        if (folder != null) {
            folder.open(Folder.READ_ONLY);
            folder.fetch(folder.getMessages(), fp);

            GmailMessageIDTerm messageID_term = new GmailMessageIDTerm(Long.parseLong(msgId, 16)+"");
            com.google.code.javax.mail.Message[] messageID_Meassages = folder.search(messageID_term);


            if(messageID_Meassages.length > 0){

                IMAPMessage main_Meassage = (IMAPMessage)messageID_Meassages[0];
                GmailThreadIDTerm thread_term = new GmailThreadIDTerm(main_Meassage.getGoogleMessageId() + "");
                com.google.code.javax.mail.Message[] thread_Messages = folder.search(thread_term);


                for(com.google.code.javax.mail.Message m: thread_Messages){
                    IMAPMessage imapMessage = (IMAPMessage)m;
                    // here is your every message of current thread 

                }

            }
        }