I am having some difficulty deleting documents from my Google Apps
accounts, and wonder if someone can help me.  The code below
demonstrates what appears to be the problem.  It does the following:

1.  Creates and uploads a new document.
2.  Deletes that document.
3.  Retrieves a list of documents, and displays the text "entry still
there".

If I set the USERNAME and PASSWORD constants to a gmail.com account,
this works as expected, and I don't see the "entry still there" text.
But if I set the USERNAME and PASSWORD constants to a Google Apps
account, I do see that text and I see the entries within the Google
Docs UI.

Any help would be appreciated.  Thanks.

John


===

import com.google.gdata.client.docs.DocsService;
import com.google.gdata.data.PlainTextConstruct;
import com.google.gdata.data.docs.DocumentEntry;
import com.google.gdata.data.docs.DocumentListEntry;
import com.google.gdata.data.docs.DocumentListFeed;
import java.io.File;
import java.net.URL;
import java.util.List;

public class DeleteDemo {

        private static final String USERNAME="...";
        private static final String PASSWORD="...";

        private static final String DOC_UPLOAD_1 = "docupload1.html";

        public static final void main( String[] args ) {
                try {

                        // Build a unique document title.
                        String title = "deleteme " + 
String.valueOf(System.currentTimeMillis
());

                        // Upload the document.
                        DocsService service = getService();
                        URL url = doInitialUpload(title);

                        // Delete the document.
                        DocumentEntry doc = service.getEntry(url, 
DocumentEntry.class);
                        doc.delete();

                        // See if the document is still there.
                        checkForDocument(title);
                } catch (Exception e) {
                        e.printStackTrace();
                }
        }

        /**
         * Display the text "entry still there" if the entry with the
specified title is present in
         * the account.
         */
        private static final void checkForDocument(String title) throws
Exception {
                DocsService service = getService();
                URL url = new 
URL("https://docs.google.com/feeds/documents/private/
full");
                DocumentListFeed feed = service.getFeed(url,
DocumentListFeed.class);
                List<DocumentListEntry> entries = feed.getEntries();
                for( DocumentListEntry entry : entries ) {
                        if (entry.getTitle().getPlainText().equals(title)) {
                                System.out.println("entry still there!");
                        }
                }
        }

        /**
         * Login and return a DocsService object.
         */
        private static final DocsService getService() throws Exception {
                DocsService service = new DocsService("jbtest");
                service.setUserCredentials(USERNAME, PASSWORD);
                return service;
        }

        /**
         * Create a new GoogleDocs document based on a local HTML file.
Return the URL of the new
         * document.
         */
        private static final URL doInitialUpload(String title) throws
Exception {
                DocsService service = getService();
                System.out.println("title: " + title);
                URL url = new 
URL("https://docs.google.com/feeds/documents/private/
full");
                DocumentEntry newDocument = new DocumentEntry();
                File documentFile = new File(DOC_UPLOAD_1);
                newDocument.setFile(documentFile);
                newDocument.setTitle(new PlainTextConstruct(title));
                DocumentEntry doc = service.insert(url, newDocument);
                return new URL(doc.getId());
        }

}
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Google Docs Data APIs" group.
To post to this group, send email to Google-Docs-Data-APIs@googlegroups.com
To unsubscribe from this group, send email to 
google-docs-data-apis+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/Google-Docs-Data-APIs?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to