获得来自同一收件人的所有邮件(GMAIL API)
问题描述:
我的代码:获得来自同一收件人的所有邮件(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文档不容易理解。
答
可以使用list
功能,而不是get
:https://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文档的描述。
如果你想有一个消息列表,而不是特别的消息,你必须使用'.list()'函数代替'.get()'。 https://developers.google.com/gmail/api/v1/reference/users/messages/list#examples – Guillaume
呵呵,但我可以得到只有相同收件人的邮件列表吗? –
“只有同一个收件人”是什么意思?所有消息都由用户发送到同一个电子邮件地址? “ – Guillaume