我的代码:
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 */);
}
}
我的问题是这一行,我不知道如何获得具有相同收件人的所有邮件,是否存在任何功能? Gmail文档并不容易理解。
答案 0 :(得分:1)
您可以使用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:address@mail.com").execute();
address@mail.com
是您想要的邮件的收件人。 setQ()
的参数是您可以在Gmail客户端上使用的查询:https://support.google.com/mail/answer/7190?hl=en
显然,您必须按照Gmail API文档中的说明初始化mGoogleAccount
变量。