Переместите файл или папку в другую папку в документе Google, используя проблему API - PullRequest
1 голос
/ 17 декабря 2010

В Google Document у меня есть структура:

Folder1
+------Folder1-1
+------+------File1-1-1
+------Folder1-2
+------File1-1
Folder2

Я хочу переместить «Файл1-1» в «Папку2» с помощью библиотеки .Net google api ( SDK Google Data API )

public static void moveFolder(string szUserName, string szPassword, string szResouceID, string szToFolderResourceID)
    {
        string szSouceUrl = "https://docs.google.com/feeds/default/private/full"
            + "/" + HttpContext.Current.Server.UrlEncode(szResouceID);
        Uri sourceUri = new Uri(szSouceUrl);
        //create a atom entry
        AtomEntry atom = new AtomEntry();
        atom.Id = new AtomId(szSouceUrl);


        string szTargetUrl = "http://docs.google.com/feeds/default/private/full/folder%3Aroot/contents/";
        if (szToFolderResourceID != "")
        {
            szTargetUrl = "https://docs.google.com/feeds/default/private/full"
            + "/" + HttpContext.Current.Server.UrlEncode(szToFolderResourceID)
            + "/contents"
            ;
        }
        Uri targetUri = new Uri(szTargetUrl);


        DocumentsService service = new DocumentsService(SERVICENAME);
        ((GDataRequestFactory)service.RequestFactory).KeepAlive = false;
        service.setUserCredentials(szUserName, szPassword);

        service.EntrySend(targetUri, atom, GDataRequestType.Insert);


    }

После запуска этой функции у меня есть:

Folder1
+------Folder1-1
+------+------File1-1-1
+------Folder1-2
+------File1-1
Folder2
+------File1-1

«Файл1-1» отображается в папках «Папка1» и «Папка2», и когда я удаляю его из папки, он будет удален в другой папке. (ожидать: «Файл1-1» отображается только в «Папка2»)

Что случилось? Как я могу решить эту проблему?

1 Ответ

0 голосов
/ 22 декабря 2010

Согласно протоколу , документация кажется двухэтапной.Поместите Файл1-1 в Папку2, затем удалите файл Файл1-1 из Папки1.Разве это не работает?

Интересно, что 3.0 Python API делает его одностадийным процессом.

...