我需要使用Google Drive API V3来删除文件。虽然V2有垃圾方法,但V3没有。相反,您需要修改文件的元数据。
我到处搜索过,但找不到答案。我在此处的stackoverflow中找到了一个适用于Android的示例,但我不知道如何将其转换为python:Google Drive Rest API v3 - how to move a file to the trash?。
这是应该丢弃文件的功能:
def trashFile(service, file_id):
# First retrieve the file from the API.
file = service.files().get(fileId=file_id,fields="trashed" ).execute()
# File's new metadata.
file['trashed'] = True
# Send the request to the API.
updated_file = service.files().update(body=file).execute()
return updated_file
return None
一切正常,检索文件,文件ID正确,执行了更新命令,但文件没有被丢弃。
我该怎么办?预先感谢您的帮助。
答案 0 :(得分:1)
我可以像上面那样理解。为了实现这一点,如何进行修改?
如果修改了脚本,请进行如下修改。
从:loadProducts$ = createEffect(
() => ({ debounce = 300, scheduler = asyncScheduler } = {}) =>
this.actions$.pipe(
ofType(ProductActions.LoadProducts),
debounceTime(debounce, scheduler),
switchMap(() => this.ProductStore.pipe(select(ProductSelectors.selectAllProducts))),
switchMap((Products) => {
if (Products.length != 0) {
return ProductActions.LoadProductsSuccess({ Products });
}
return of(ProductActions.LoadProductsCancelled({ Products }));
}),
switchMap(() => this.store.pipe(select(fromRoots.getCategory))),
switchMap((category) =>
this.ProductService.getProducts(category.categoryId).pipe(
map(Products => (ProductActions.LoadProductsSuccess({ Products }))),
catchError(err => of(ProductActions.LoadProductsFailed(err))
)
))));
至:
updated_file = service.files().update(body=file).execute()
例如,这个修改后的脚本怎么样?在这种情况下,可以通过一个API调用来实现。
updated_file = service.files().update(fileId=file_id, body=file).execute()