ために数分かかります。単一のHTTP要求でサーバーが複数の操作を実行できるようにすることができます。バッチリクエストは、一度に100個の操作に制限されています。バッチ処理の詳細については、Google Data APIs Batch Processing documentationをご覧ください。
delete all contacts
contactsrequest.Batch操作を使用します。この操作を行うには、LIST<type>
を作成し、連絡先アイテムごとにBatchData
を設定して、リストをcontactsrequest.Batch操作に渡します。
private void DeleteAllContacts()
{
RequestSettings rs = new RequestSettings(this.ApplicationName, this.userName, this.passWord);
rs.AutoPaging = true // this will result in automatic paging for listing and deleting all contacts
ContactsRequest cr = new ContactsRequest(rs);
Feed<Contact> f = cr.GetContacts();
List<Contact> list = new List<Contact>();
int i=0;
foreach (Contact c in f.Entries)
{
c.BatchData = new GDataBatchEntryData();
c..BatchData.Id = i.ToString();
c.BatchData.Type = GDataBatchOperationType.delete;
i++;
list.Add(c);
}
cr.Batch(list, new Uri(f.AtomFeed.Batch), GDataBatchOperationType.insert);
f = cr.GetContacts();
Assert.IsTrue(f.TotalResults == 0, "Feed should be empty now");
}
apiを使用してすべての連絡先を取得できる場合は、すべての連絡先を反復処理してdelete_contact関数に渡すことができます。 –
1000件の連絡先を削除するのに約9分かかります。私はより速い解決策を探していた –