2017-04-24 99 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爲這個答案! –

相關問題