2013-01-03 92 views
4

如何使用Google Drive SDK API將文件從根文件移動到文件夾?Google Drive SDK API:如何將文件從根目錄移動到文件夾?

我試過這個,但它從來沒有工作!

1)將文件ID插入到文件夾中。
方法:https://developers.google.com/drive/v2/reference/children/insert
結果:文件能夠插入到該文件夾​​,但文件都在根也表示。

2)從父級刪除文件ID。
方法:https://developers.google.com/drive/v2/reference/parents/delete
結果:一個奇怪的結果。它應該刪除父文件,但刪除了該文件夾中的子文件。

請幫忙嗎?

回答

1

這裏是一個步法移動文件使用Patch新的文件夾和PHP client library

/** 
* Move a file. 
* 
* @param Google_Service_Drive_DriveFile $service Drive API service instance. 
* @param string $fileId ID of the file to move. 
* @param string $newParentId Id of the folder to move to. 
* @return Google_Service_Drive_DriveFile The updated file. NULL is returned if an API error occurred. 
*/ 
function moveFile($service, $fileId, $newParentId) { 
    try { 
    $file = new Google_Service_Drive_DriveFile(); 

    $parent = new Google_Service_Drive_ParentReference(); 
    $parent->setId($newParentId); 

    $file->setParents(array($parent)); 

    $updatedFile = $service->files->patch($fileId, $file); 

    return $updatedFile; 
    } catch (Exception $e) { 
    print "An error occurred: " . $e->getMessage(); 
    } 
} 
0

我認爲正確的方法是「文件:補丁」(https://developers.google.com/drive/v2/reference/files/patch)。
您可以通過設置可選參數addParents,removeParents來移動文件。

如果我將「0B2H_JyuGzV0AQmpOTjdTNDZXM00」從「0B2H_JyuGzV0AZHFUUzE4cXh3aXM」移動到根文件夾,請執行此操作。

Request URL:https://content.googleapis.com/drive/v2/files/0B2H_JyuGzV0AQmpOTjdTNDZXM00?removeParents=0B2H_JyuGzV0AZHFUUzE4cXh3aXM&addParents=root&key=AIzaSyCFj15TpkchL4OUhLD1Q2zgxQnMb7v3XaM&alt=json 
Request Method:PATCH 
相關問題