2017-04-24 37 views
1

我的代码:获得来自同一收件人的所有邮件(GMAIL API)

public class HistoriqueActivity extends FragmentActivity { 

private GoogleAccount mGoogleAccount; 
private HistoriquePagerAdapter mHistoriquePagerAdapter; 
private ViewPager mViewPager; 
private ArrayList<Message> listMessage; 
@Override 
public void onCreate(@Nullable Bundle savedInstanceState, @Nullable PersistableBundle persistentState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.historique); 

    this.mHistoriquePagerAdapter = new HistoriquePagerAdapter(getSupportFragmentManager()); 
    this.mViewPager = (ViewPager) findViewById(R.id.pager); 
    this.mViewPager.setAdapter(mHistoriquePagerAdapter); 
    this.mGoogleAccount = GOOGLE_ACCOUNT_USED; 
    this.listMessage = new ArrayList<>(); 

    //this line: 
    this.listMessage = mGoogleAccount.getmGmail().users().messages().get(mGoogleAccount.getmCredential().getSelectedAccountName(), /* recipient */); 

} 

} 

我problème是这条线,我不知道怎么去用同一收件人的所有消息,是否有任何现有的功能来做它? Gmail文档不容易理解。

+1

如果你想有一个消息列表,而不是特别的消息,你必须使用'.list()'函数代替'.get()'。 https://developers.google.com/gmail/api/v1/reference/users/messages/list#examples – Guillaume

+0

呵呵,但我可以得到只有相同收件人的邮件列表吗? –

+0

“只有同一个收件人”是什么意思?所有消息都由用户发送到同一个电子邮件地址? “ – Guillaume

回答

1

可以使用list功能,而不是gethttps://developers.google.com/gmail/api/v1/reference/users/messages/list

在你的情况,

mGoogleAccount.getmGmail().users().messages().get(mGoogleAccount.getmCredential().getSelectedAccountName(), /* recipient */); 

成为

mGoogleAccount.getmGmail().users().messages().list(mGoogleAccount.getmCredential().getSelectedAccountName()).setQ("to:[email protected]").execute(); 

哪里[email protected]是您要的信息的接收者。的setQ()参数是查询,你可以在Gmail客户端上使用:https://support.google.com/mail/answer/7190?hl=en

而且很明显,你必须初始化变量mGoogleAccount在Gmail API文档的描述。

+0

Ty我会尝试这一行!我应该添加“.execute();”? –

+0

哦,是的,我忘了它(anwser更新) – Guillaume

+0

Ty为这个答案! –

相关问题