4

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
結果:奇妙な結果。親のファイルを削除する必要がありますが、これによりフォルダー内の子ファイルが削除されました。

何か助けてください。

4

4 に答える 4

5

より簡単な方法は、 patch を使用して、parents フィールドを新しいフォルダーの ID に更新することです。

https://developers.google.com/drive/v2/reference/files/patch

于 2013-03-19T02:17:08.297 に答える
1

PatchPHP クライアント ライブラリを使用して、ファイルを新しいフォルダーに移動するワンステップの方法を次に示します。

/**
 * 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();
  }
}
于 2014-07-15T10:56:50.440 に答える